SaveComponentsEventArgs.Components Property
Gets the list of components that are saved with the report layout to a REPX file.
Namespace: DevExpress.XtraReports.UI
Assembly: DevExpress.XtraReports.v23.1.dll
NuGet Package: DevExpress.Reporting.Core
Declaration
Property Value
Type | Description |
---|---|
IList | The list of components. |
Remarks
You can handle the SaveComponents event to customize the list of components that are saved with the report to the REPX report definition file. The SaveComponentsEventArgs.Components
property is used for this purpose. If you add a component to this list, it is serialized and saved to a REPX file. To exclude a particular component, remove it from the Components list
Example
This example demonstrates how to exclude a DataSet, along with its TableAdapter, when saving a report definition to an REPX file. To do this, it is necessary to handle the XtraReport.SaveComponents event, and customize its SaveComponentsEventArgs.Components
collection.
using System;
using System.ComponentModel;
using System.Data;
using System.Windows.Forms;
using System.Collections;
using DevExpress.XtraReports.UI;
// ...
private void Form1_Load(object sender, EventArgs e) {
XtraReport1 report = new XtraReport1();
report.SaveComponents += new
EventHandler<SaveComponentsEventArgs>(report_SaveComponents);
report.ShowDesignerDialog();
}
void report_SaveComponents(object sender, SaveComponentsEventArgs e) {
int tableAdapterIdx = GetItemIndex(e.Components, typeof(Component));
if (tableAdapterIdx >= 0)
e.Components.RemoveAt(tableAdapterIdx);
int dsIdx = GetItemIndex(e.Components, typeof(DataSet));
if (dsIdx >= 0)
e.Components.RemoveAt(dsIdx);
}
private static int GetItemIndex(IList components, Type targetType) {
int idx = -1;
for (int i = 0; i < components.Count; i++) {
if (components[i].GetType().BaseType == targetType) {
idx = i;
break;
}
}
return idx;
}