一部の項目のみを取ります。FilterはDataGridViewの要素と同じです
<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;
であるが、以下のように
Excelファイルのスキーマがあります各値の行。たとえば、私は92でAddressタグを持つ複数のレコードを持っています、私はちょうど1つを抽出したいです。
PS:重要な情報は、私はあなたがDataTable
のDefaultView
プロパティを使用することができますフレームワーク2.0
おかげ
xmlを読み込んだ後で、 'DataSource'を設定し、複数のレコードを持たずに変更したリストを' DataContext'として設定するのはなぜですか? –
次のコードを試してください:DataTable newTable = dtConfReg.AsEnumerable()。GroupBy(x => x.Field( "Address"))選択(x => x.FirstOrDefault())。CopyToDataTable(); –
jdweng
DataSourceの割り当て後にGoupingを行うことはできません。グリッドに割り当てる前にLinqのデータをフィルタリングする必要があります –