我正在使用ExcelDataReader将数据加载到 中DataSet
,最终将被加载到DataGrid
WPF 中。我有带有标题的特定列SLNO
,FY
我不想包含这些列。如何使用此处FilterColumn
提到的这些列忽略这些列?
问问题
977 次
3 回答
1
如果要在显示时过滤这些列,请使用以下代码:
gridview.Columns["ColumnName"].Visible = false;
或者 :
DataView view = new DataView(DataSet.table[0]);
DataTable table2 = view.ToTable(false, "FirstColumn", "SecondColumn", "ThirdColumn");
GridDataView.DataSource = Table2;
于 2018-06-24T09:32:21.980 回答
0
这是如何FilterColumn
工作的
using (var stream = File.Open(filePath, FileMode.Open, FileAccess.Read))
{
List<string> skipColumns = new List<string> { "SLNO", "FY" };
using (var reader = ExcelReaderFactory.CreateReader(stream))
{
var result = reader.AsDataSet(new ExcelDataSetConfiguration()
{
ConfigureDataTable = (tableReader) => new ExcelDataTableConfiguration()
{
UseHeaderRow = true,
FilterColumn = (rowReader, columnIndex) =>
{
return !skipColumns.Contains((rowReader[columnIndex].ToString()));
}
}
});
}
}
于 2019-01-19T02:21:10.173 回答
0
您可以处理该AutoGeneratingColumn
事件:
private void DataGrid_AutoGeneratingColumn(object sender, DataGridAutoGeneratingColumnEventArgs e)
{
e.Cancel = e.PropertyName == "SLNO" || e.PropertyName == "FY";
}
于 2018-06-25T09:08:51.350 回答