Csharp/C#教程:如何将DataTable.Select()结果传递给新的DataTable?分享


如何将DataTable.Select()结果传递给新的DataTable?

我有一个名为dt2DataTable和数据。 我调用它的Select方法来获取一些特定的行。

 DataRow[] foundRows; expression = "parent_id=1"; foundRows = dt2.Select(expression); 

如何将Select -method结果传递给新的DataTable – 比如FilteredData

您可以使用IEnumerable类型上提供的CopyToDataTable

 var filteredData = dt2.Select(expression).CopyToDataTable(); 

为什么不使用DataView呢?

 DataView view = new DataView(dt2); view.RowFilter = "parent_id = 1"; 

DataView行为方式与DataTable行为方式非常相似,可以在DataView自动反映对底层DataTable (本例中为dt2 )的任何更改。

为清楚起见, Select方法返回DataRow类型的数组。 这就是我们需要使用CopyToDataTable() 。 亚历克斯的答案很好。 但是,如果Select没有返回任何行,则CopyToDataTable()将抛出InvalidOperationException

因此,在使用CopyToDataTable()之前测试至少有一个DataRow

上述就是C#学习教程:如何将DataTable.Select()结果传递给新的DataTable?分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

 var filteredDataRows = dt2.Select(expression); var filteredDataTable = new DataTable(); if(filteredDataRows.Length != 0) filteredDataTable = filteredDataRows.CopyToDataTable(); 

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/1009146.html

(0)
上一篇 2021年12月29日
下一篇 2021年12月29日

精彩推荐