- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
private void _Filter (ref DataTable Dt)
{
if (Dt.Columns.Contains("id_rvobjecttype") && Dt.Columns.Contains("id_rvdevicestatus") && Dt.Columns.Contains("id_storage") &&
(RvObjectType > 0 || Status > 0 || Storage > -1))
{
DataRow[] rows = Dt.Select(string.Format(
"((id_rvobjecttype = {0} or not {1}) and (id_rvdevicestatus = {2} or not {3}) and (id_storage = {4} or not {5})) or id = {6}",
fRvObjectType, fRvObjectType > 0, (int)Status, Status > 0, Storage, Storage > -1, IgnoreId));
Dt = rows.Length > 0 ? rows.CopyToDataTable() : Dt.Clone();
}
}
gcoder 29.02.2012 17:23 # 0
absolut 29.02.2012 22:22 # +2
eth0 01.03.2012 19:50 # 0
bugmenot 01.03.2012 20:17 # +1
gcoder 01.03.2012 10:34 # 0
Т.е. "id_storage = {4} or not {5})" - это либо выбираем нужную строку, либо фильтр отключен... Хорошо с БД у нас другой человек работает...