SHE*_*ETE 2 c# asp.net dataview filtering rowfilter
我有一个DataTable包含一些行。复制到DataView。现在,我有ID的形式List<string>。其中包含从中选择的项目GridView。现在,我想DataView使用AND作为过滤器对此进行过滤。
当我只应用一个时,它起作用,但是应用多个时,AND则不起作用。
在.cs中:
List<string> selectedAddress = new List<string>();
protected DataView GetSelectedItems()
{
DataView dv = new DataView(dtresult);
int count = selectedAddress.Count();
if (count > 0)
{
string query = "ID=";
for (int j = 0; j < selectedAddress.Count; j++)
{
string val = selectedAddress[j].ToString();
if (j == 0)
{
query += val + " and ";
}
else
{
query += "ID=" + val + "";
}
}
dv.RowFilter = query;
}
return dv;
}
Run Code Online (Sandbox Code Playgroud)
任何的想法?
小智 6
尝试这个:
List<string> selectedAddress = new List<string>();
protected DataView GetSelectedItems()
{
DataView dvResult = new DataView(dtresult);
string query = "";
int count = selectedAddress.Count();
for (int j = 0; j < selectedAddress.Count; j++)
{
string val = selectedAddress[j].ToString() + ",";
query += val;
}
query = query.Remove(query.Length - 1);
dvResult.RowFilter = "ID IN(" + query + ")";
return dvResult;
}
Run Code Online (Sandbox Code Playgroud)