【发布时间】:2012-04-28 16:45:21
【问题描述】:
我是 C# 和 .NET 的初学者,我遇到以下问题(使用 .NET 4.5):
我有三个 DataGridViews 应该显示来自 xml 文件的数据。每个 DataGrid 都应该过滤其结果,因此它们的 xml 条目分布在三个 DataGridView 上。
我尝试了以下方法:
DataSet dataSet1 = new DataSet();
dataSet1.ReadXml('some-existing-file.xml');
DataTableCollection tables = dataSet1.Tables;
DataView view1 = new DataView(tables[0]);
BindingSource source1 = new BindingSource();
source1.DataSource = view1;
source1.Filter = "color = 'red'";
gridView1.DataSource = source1;
BindingSource source2 = new BindingSource();
source2.DataSource = view1;
source2.Filter = "color = 'white'";
gridView2.DataSource = source2;
BindingSource source3 = new BindingSource();
source3.DataSource = view1;
source3.Filter = "color = 'blue'";
gridView3.DataSource = source3;
但这不起作用。所有三个 GridView 都使用最后一个过滤器 ('blue)'。
XML 看起来像这样(简化):
<?xml version="1.0" encoding="utf-8"?>
<collection>
<entry>
<color>blue</color>
<headline>Some headline</headline>
</entry>
[...]
</collection>
当我想将更改写回 xml 文件时,是否只是以正确的方式过滤相同的数据集?
【问题讨论】:
标签: c# .net data-binding datagridview filter