在.NET 1.1中,如何将DataView转换为表格(DataTable)?使用C#。

3

我有一个数据视图,我在其中设置了一行过滤器:

DataView dv = ds.Tables[0].DefaultView;

dv.RowFilter = "here my filter";

一旦数据被筛选,我希望将其转换为 DataTable。我知道在 .NET 2.0 及以上版本中可以使用以下代码实现:
Datatable result  = dv.ToTable();

但是如何在.NET 1.1中实现呢?


1
出于好奇,仍然使用 .net 1.1。 - too_cool
你不已经有一个数据表了吗:ds.Tables [0]。数据集由数据表组成。 - jdweng
1
该框架的源代码可用。乍一看,似乎自己创建一个ToTable方法并不是不可能的。http://referencesource.microsoft.com/System.Data/a.html#8d3e2c3c04b09ed6 - Steve
@too_cool 是的,这是一个遗留项目,将来很快会进行迁移。但现在我需要进行这个修改。 - Willy
1
检查一下这个链接:http://www.codedigest.com/CodeDigest/54-Copy-the-Sorted-Filtered-Dataview-To-DataTable-in--Net-1-1.aspx,可能有帮助。 - too_cool
显示剩余3条评论
2个回答

0

使用Datatable Select,这是一个解决方法,您觉得怎么样?

DataTable dt = ds.Tables[0];
DataTable filterdt = dt.Clone(); //Available from .Net 1.1

//Datatable Select Available from .Net 1.1              
DataRow[] filterRows = dt.Select("here you filter"); 



 //Loop filterRows[] and import to filterdt Datatable

  foreach (DataRow filterRow in filterRows)
                filterdt.ImportRow(filterRow); //Datatable Import row Available from .Net 1.1

0

这在 .NET 1.1 中有效,因为 DataView 的枚举器仅返回过滤后的行:

DataTable table = dv.Table.Clone();
foreach (DataRowView rowView in dv)
    table.ImportRow(rowView.Row);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接