[英]Dynamically add Filter Expression to the Gridview to Filter Two Columns
請參見以下代碼:
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循環?
SqlDataSource
控件僅在處於DataSet
模式時才支持過濾數據。
詳情請參閱此處 。 因此,為SqlDataSource
對象添加DataSourceMode="DataSet"
。
您可以使用AND
運算符為FilterExpression
添加多個條件
SqlDataSource1.FilterExpression += " TSOType like '" + l.Value + "%' + AND TSOStatus like '" + j.Value + "%'";
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.