私のデータテーブル;
dtData
ID | ID2
--------
1 | 2
1 | 3
dtData.Select("ID = 1"); one more rows;
「ID = 1およびID2 = 3」の行を作成する方法を教えてください。
このような意味ですか?:
dtData.Select("ID=1 AND ID2=3");
さて、ここで私はそのようなことをする方法です...
GridFieldDAO dao = new GridFieldDAO();
//Load My DataTable
DataTable dt = dao.getDT();
//Get My rows based off selection criteria
DataRow[] drs = dt.Select("(detailID = 1) AND (detailTypeID = 2)");
//make a new "results" datatable via clone to keep structure
DataTable dt2 = dt.Clone();
//Import the Rows
foreach (DataRow d in drs)
{
dt2.ImportRow(d);
}
//Bind to my new DataTable and it will only show rows based off selection
//criteria
myGrid.DataSource = dt2;
myGrid.DataBind();
Select()で、条件を括弧に入れて[〜#〜] and [〜#〜]と[〜#〜] or [〜#〜]の間に注意してください。
お役に立てれば!マイクV
これを使うほうがいい:
GridFieldDAO dao = new GridFieldDAO();
//Load My DataTable
DataTable dt = dao.getDT();
//Get My rows based off selection criteria and copy them directly to datatable
DataTable dt2 = dt.Select("(detailID = 1) AND (detailTypeID = 2)").CopyToDataTable();
DataTable dt2 = dt.Select("ID = 1").CopyToDataTable;
dtに行があることを確認してください
ここでは、フィルタリングによって特定の行を選択しながら、LinqのCopyToDataTableメソッドを使用して、コンテンツを別のDataTableにコピーできます。
DataTable dt2 = dt.Select("state = 'FL' ").CopyToDataTable;
素晴らしい例で、とても役に立ちます。 1つ追加したい-文字列を選択する必要がある場合は、次のようなものを使用します。
DataTable dt2 = dt.Select("state = 'FL' ");