Ответ 1
Вы имеете в виду это?:
dtData.Select("ID=1 AND ID2=3");
my datatable;
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() я поставил критерии в Parens между И и ИЛИ
Надеюсь, это поможет! Майк 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 имеет в нем строки
DataTable dt2 = dt.Select("state = 'FL' ").CopyToDataTable;
Отличный пример и очень полезно. Хотелось добавить одно: если вам нужно выбрать строку, используйте что-то вроде:
DataTable dt2 = dt.Select("state = 'FL' ");