首页 > 解决方案 > 如何使用过滤器将数据表值存储在另一个数据表中

问题描述

如何使用过滤器将数据表值存储在另一个数据表中。

DataTabe dt = objProfitLossDT.Select("AppBalance <= 0");

标签: c#datatableado

解决方案


这是你想要的吗?

DataTable dt = objProfitLossDT.Select("AppBalance <= 0").CopyToDataTable();

请注意,CopyToDataTable如果源中没有行,则会引发异常。所以你应该检查它:

DataTable dt = objProfitLossDT.Clone(); // Clone is better than assigning null if you need the columns with an empty table
DataRow[] filteredRows = objProfitLossDT.Select("AppBalance <= 0");
if(filteredRows.Length > 0)
    dt = objProfitLossDT.Select("AppBalance <= 0").CopyToDataTable();

顺便说一句,你知道你也可以使用 LINQ,它比Select

var filteredRows = objProfitLossDT.AsEnumerable()
    .Where(row => row.Field<int>("AppBalance) <= 0)
    .ToArray(); // if you want a DataRow[]

推荐阅读