私はC#の学習プロセスに従事していますが、これまでのところうまくいきます。しかし、私はちょうど今、私の最初の "何を言う?"瞬間DataTable、行を条件付きで削除する方法
DataTableは、標準的なコレクションの動作だけでなく、DataTable.Selectを介して、Rowsコレクションへのランダムな行アクセスを提供します。しかし、私はこの能力をDataRow.Deleteに結びつけることができないようです。ここまでは、テーブルから1つ以上の行を条件付きで削除するために必要なことです。
int max = someDataTable.Rows.Count - 1;
for(int i = max; i >= 0; --i)
{
if((int)someDataTable.Rows[i].ItemArray[0] == someValue)
{
someDataTable.Rows[i].BeginEdit();
someDataTable.Rows[i].Delete();
}
else
break;
}
someDataTable.AcceptChanges();
しかし、私はこのコードに満足していません。どちらも私は確信していません。私は何かを欠いているに違いない。条件付きで1つ以上の行を削除する必要がある場合は、実際に行コレクションを順番に実行する必要がありますか?
(私はデータテーブルの端から削除しています。のために反転し気にしない。それはOKですので)
をああ!私には起こらなかったSelect()はデータテーブルの行への参照を返します。私は何かが欠けていなければならないことを知っていた。本当にありがとう! –
これは良い解決策でもあります。これは、datatable.selectが注文を変更するという私の問題を解決しました。 – Signcodeindie
素晴らしい解決策Matthew – Ravia