【发布时间】:2014-10-08 19:32:40
【问题描述】:
请看以下代码:
protected void CheckBoxList1_SelectedIndexChanged(object sender, EventArgs e)
{
SqlDataSource1.FilterExpression = "";
foreach (ListItem l in CheckBoxList1.Items)
{
if (l.Selected)
{
HD1.Value += l.Value + ",";
if (SqlDataSource1.FilterExpression == "")
SqlDataSource1.FilterExpression += " TSOType like '" + l.Value + "%'";
else
{
SqlDataSource1.FilterExpression += "or TSOType like '" + l.Value + "%'";
}
}
}
}
当复选框中的项目被选中时,我会动态地将过滤器表达式分配给 Gridview。当 Cloumn "TSOType" 满足要求时,这会给我预期的结果。我现在想要的是在 FilterExpression 中再添加一个列过滤器。例如,现在我有
SqlDataSource1.FilterExpression += " TSOType like '" + l.Value + "%'";
但我想去
SqlDataSource1.FilterExpression += " TSOType like '" + l.Value + "%' + TSOStatus like '" + j.Value + "%'";
我应该如何编码,我需要另一个 for 循环吗?
【问题讨论】:
-
j的值从何而来? -
@DennisR 如果我创建,它来自另一个复选框列表。