我是 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 都使用最后一个过滤器(“蓝色)”。
XML 看起来像这样(简化):
<?xml version="1.0" encoding="utf-8"?>
<collection>
<entry>
<color>blue</color>
<headline>Some headline</headline>
</entry>
[...]
</collection>
当我想将更改写回 xml 文件时,是否以正确的方式过滤相同的数据集?