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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c#如何从DataTable构建自定义DataView?相关的知识,希望对你有一定的参考价值。

我需要从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吗?

提前致谢!

答案

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

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

System.Data.DataSetExtensions
另一答案
AsDataView

以上是关于c#如何从DataTable构建自定义DataView?的主要内容,如果未能解决你的问题,请参考以下文章

如何让其他控件在自定义控件中看到 DataTables 的集合?

我可以从 jQuery DataTable 中检索列/搜索特定数据吗?

如何在其操作回调中禁用自定义 DataTables 按钮?

SQL/C#:DataTable 到存储过程(从用户定义的表类型插入)- 转换错误

自定义调试工具

具有标签的 DataRows 的自定义 DataTable