2

我正在使用ExcelDataReader将数据加载到 中DataSet,最终将被加载到DataGridWPF 中。我有带有标题的特定列SLNOFY我不想包含这些列。如何使用此处FilterColumn提到的这些列忽略这些列?

4

3 回答 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 回答