簡體   English   中英

將過濾器表達式動態添加到Gridview中以過濾兩列

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM