我应该只带一些东西。
excel文件架构如下
<ConfigRegolatori>
<Id>6</Id>
<Address>92</Address>
<Category>90</Category>
<Mode>TC_K</Mode>
<Model>Z4TC</Model>
<Name>KT6</Name>
<ConfigRegolatori>
<Id>7</Id>
<Address>7</Address>
<Category>100</Category>
<Mode>TC_K</Mode>
<Model>M9_Servo</Model>
<Name>KT7</Name>
<ConfigRegolatori>
<Id>8</Id>
<Address>92</Address>
<Category>90</Category>
<Mode>TC_K</Mode>
<Model>Z4TC</Model>
<Name>KT10</Name>
代码部分如下
dtConfReg = new DataTable();
dtConfReg.ReadXml(Principale.strPathConfig + "\\ConfigRegulators.xml");
dtConfReg.TableName = "ConfigReg";
bsouReg = new BindingSource();
bsouReg.DataSource = dtConfReg;
dgvwConfigReg.DataSource = bsouReg;
由于我在Address字段中有多个具有相同值的行,因此我想为每个值获取一行。例如,我有多个记录,地址标记为92,我只想提取一个。
PS:一个重要的信息是我正在使用框架2.0
由于
答案 0 :(得分:0)
您可以使用DefaultView
的{{1}}属性。
DataTable
完整的解决方案是:
dtConfReg.DefaultView.RowFilter = "Address = '92'";
请注意,过滤器使用单引号作为值,如果从XML反序列化的值为int,则不要使用它们。
<强>更新强>
我已将代码更改为按该地址过滤。如果要按某些列值过滤数据,此解决方案有效。
如果您想从该XML获取不同的值,那么我建议您首先从XML获取值,然后使用现有代码将数据表绑定到UI控件。