C# 在 .NET 1.1 中将 DataView 转换为表(DataTable)
Posted
技术标签:
【中文标题】C# 在 .NET 1.1 中将 DataView 转换为表(DataTable)【英文标题】:C# Convert DataView to Table (DataTable) in .NET 1.1 【发布时间】:2017-10-30 18:01:36 【问题描述】:我有一个设置了行过滤器的数据视图:
DataView dv = ds.Tables[0].DefaultView;
dv.RowFilter = "here my filter";
过滤数据后,我想将其转换为 DataTable。我知道这在 .NET 2.0 及更高版本中是可能的,使用它:
Datatable result = dv.ToTable();
但是如何在 .NET 1.1 中做到这一点?
【问题讨论】:
出于好奇,还是使用 .net 1.1.. 你不是已经有一个数据表了吗:ds.Tables[0]。数据集由数据表组成。 该框架的源代码可用。乍一看,自己创建一个 ToTable 方法似乎并非不可能referencesource.microsoft.com/System.Data/… @too_cool 是的,它是一个遗留项目,将来会很快迁移。但是现在我需要做这个修改。 Chk this out 可能有帮助 【参考方案1】:如何使用 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
【讨论】:
【参考方案2】:这在 .NET 1.1 中有效,因为 DataView
的枚举器只返回过滤后的行:
DataTable table = dv.Table.Clone();
foreach (DataRowView rowView in dv)
table.ImportRow(rowView.Row);
【讨论】:
以上是关于C# 在 .NET 1.1 中将 DataView 转换为表(DataTable)的主要内容,如果未能解决你的问题,请参考以下文章
C#里dataview(),datagridview()等显示XML内容的问题
如何在 .Net / C# 中将日期转换为 HTTP 格式的日期
在 C# .net winforms 中将字典绑定到 ComboBox