フィルタリングするDataViewがあります
inputView.RowFilter = "isnull(" + ID1 + ",'')<>'' and isnull(" + reason + ",0)=0";
このフィルターの後、「IsVerified
」列 inputView
を「1」に更新する必要があります
LINQ で次のことを実行するものはありますか?
inputView.RowFilter.ForEach(x=>x.Field<IsVerified> =1);
DataView で LINQ を使用する場合は、DataView で独自の拡張メソッドを作成する必要があります。DataView にはネイティブに . ToList()
メソッド。ForEach()
が定義されています。
DataView の拡張メソッドを作成します。
public static class DataViewExtensions
{
public static List<DataRowView> ToList(this DataView v)
{
List<DataRowView> foo = new List<DataRowView>();
for (int i = 0; i < v.Count; i++)
{
foo.Add(v[i]);
}
return foo;
}
}
DataView は次のように呼び出すことができます。
inputView.ToList().ForEach(x=>x["IsVerified"]=1);
一部の開発者は完全な .NETforeach (var x in y)
ステートメントを好むかもしれませんが、これは同じことを行います。
完全なコンソール アプリケーションの概念実証: http://pastebin.com/y9z5n6VH