c#如何从DataTable构建自定义DataView?

问题描述 投票:0回答:2

我需要从DataTable创建一个DataView,但有一个不寻常的转折:

我需要逐行决定(使用代码)DataTable中的哪些行包含在DataView中。

DataTable dt = LoadData();
DataView dv = new DataView(dt);

foreach (DataRow row in dt.Rows)
{
    if (RowIsGood(row))
    { 
        // This obviously doesn't work but I need equivalent logic:
        DataRowView drv = new DataRowView();
        drv.Row = row;
        dv.Add(drv);
    }
}

需要注意的一些重要事项:

  1. 上面的RowIsGood函数中的代码太复杂,无法使用标准的RowFilter方法进行复制。
  2. DataTable有可能非常大。它也由多个网格控件引用。无法将临时列添加到DataTable以促进RowFilter操作。
  3. 我正在使用.NET v4.0。

那么甚至可以使用DataTable / DataView架构吗?

LINQ允许我自定义我需要的DataView吗?

提前致谢!

c# datatable ado.net dataview
2个回答
2
投票

因为您正在寻找逐行解决方案,并且已经拥有一个采用DataRow并返回bool的函数。

只需添加对qazxsw poi的引用并使用qazxsw poi方法

System.Data.DataSetExtensions

1
投票
AsDataView
© www.soinside.com 2019 - 2024. All rights reserved.