行ごとの操作を行わずにC#でDataTableの値を見つける方法はありますか?
値はデータテーブルのセル(カンマで区切られたrow [columnName] .valueの部分文字列)の一部である場合があり、値は行のいずれかの列に存在する場合があります。
DataTableまたはDataSetオブジェクトには、パラメーターとして渡されたクエリに基づいて結果のDataRow配列を返すSelectメソッドがあります。
要件を検討すると、この機能を実現するには、filterexpressionを多少一般化する必要があります。
myDataTable.Select("columnName1 like '%" + value + "%'");
次のような列で行をフィルタリングすることができます:
DataRow[] filteredRows =
datatable.Select(string.Format("{0} LIKE '%{1}%'", columnName, value));
私の知る限り、すべての列を検索するための組み込みのものはありません。 Find
は、主キーに対してのみ使用できます。 Select
には指定された列が必要です。おそらくLINQを使用できますが、最終的にこれは同じループを実行します。おそらく自分で展開するだけですか?少なくとも読みやすいでしょう。