Ich habe ein RadGridView-Steuerelement in meinem Formular. Ich binde DataGriView um einen Parameter von einem Suchsteuerelement. Ich benutze diesen Code meine ausgewählten Zeilen in einer Datatable zu speichern und zeigen in einem Bericht:Gefilterte Zeilen von DataGridView in einer DataTable speichern
DataTable table = new DataTable("dt1");
foreach (Telerik.WinControls.UI.GridViewDataColumn column in radGridView1.Columns)
{
table.Columns.Add(column.Name, typeof(string));
}
for (int i = 0; i < radGridView1.Rows.Count; i++)
{
table.Rows.Add();
for (int j = 0; j < radGridView1.Columns.Count; j++)
{
table.Rows[i][j] = radGridView1.Rows[i].Cells[j].Value;
}
}
DataSet ds = new DataSet();
ds.Tables.Add(table);
StiReport stiReport = new StiReport();
stiReport.Load("Report.mrt");
stiReport.RegData(table);
StiOptions.Viewer.Windows.ShowPageDesignButton = false;
StiOptions.Viewer.Windows.ShowOpenButton = false;
//stiReport.Design();
stiReport.Show();
Dieser Code funktioniert, aber wenn ich Filter von RadDataGridView verwenden, um Zeilen für die Auswahl, der obige Code nicht gut funktioniert und alle Zeilen werden angezeigt. Wie kann dieser Code zum Speichern nur gefilterter Zeilen in einer DataTable geändert werden?
Thanks.It funktioniert. Ich verwende "var strExpr = radGridView1.FilterDescriptors.Expression;" anstelle von "var strExpr =" ItemID = 1 ";" und es funktioniert. – manizheh