簡體   English   中英

使用 Asp.net C# 在 Gridview 中搜索/過濾選項

[英]Search/Filter option in Gridview using Asp.net C#

我想在 Gridview 中提供搜索選項,以便用戶可以從 gridview 的大數據中找到完全匹配的內容。 當我們將 Autogenerate 屬性設置為“true”並在 .aspx 頁面中設置 sqlDataSource 時,有可用的解決方案。 但我在代碼中動態生成列。 怎么做。 請幫助...! 網格視圖 :

 <asp:GridView ID="ItemGrid" runat="server" BackColor="White" Width="90%" 
     onrowcreated="GridView1_RowCreated" BorderStyle="Solid" onrowdatabound="GridView1_RowDataBound" AllowPaging="True" 
                 onpageindexchanging="ItemGrid_PageIndexChanging">
 <HeaderStyle BackColor="#FF9900" BorderColor="White" Height="40px"  HorizontalAlign="Center"  Font-Bold="True" />
 <RowStyle BorderColor="White"  Width="30px" HorizontalAlign="Center" BackColor="#CCCCCC" />
 <AlternatingRowStyle HorizontalAlign="Center" />
  <FooterStyle BackColor="Silver" />                    
             </asp:GridView>

在后面的代碼中生成列:

 protected void GridView1_RowCreated(object sender, GridViewRowEventArgs e){

//生成gridview標題單元格}

知道在這種情況下如何添加搜索/過濾選項嗎?

我在我的代碼中做了

public void filterd5()
    {
        SqlDataSource1.FilterExpression = "";
        SqlDataSource1.FilterParameters.Clear();
        //GridView1.DataBind();
        if (ddlfilter.SelectedValue == "1")
        {
            SqlDataSource1.FilterExpression = "toad1 LIKE '%{0}%' or toad2 LIKE '%{0}%' or toad3 LIKE '%{0}%' ";
            SqlDataSource1.FilterParameters.Add("toad1", TextBox1.Text);
            SqlDataSource1.FilterParameters.Add("toad2", TextBox1.Text);
            SqlDataSource1.FilterParameters.Add("toad3", TextBox1.Text);
        }
        else if (ddlfilter.SelectedValue == "2")
        {
            SqlDataSource1.FilterExpression = "fromad1 LIKE '%{0}%' or fromad2 LIKE '%{0}%' or fromad3 LIKE '%{0}%' ";
            SqlDataSource1.FilterParameters.Add("fromad1", TextBox1.Text);
            SqlDataSource1.FilterParameters.Add("fromad2", TextBox1.Text);
            SqlDataSource1.FilterParameters.Add("fromad3", TextBox1.Text);
        }

        else if (ddlfilter.SelectedValue == "3")
        {
            SqlDataSource1.FilterExpression = "fromtaluk LIKE '%{0}%' ";
            SqlDataSource1.FilterParameters.Add("fromtaluk", TextBox1.Text);
        }
        else if (ddlfilter.SelectedValue == "4")
        {
            SqlDataSource1.FilterExpression = "totaluk LIKE '%{0}%'";
            SqlDataSource1.FilterParameters.Add("totaluk", TextBox1.Text);
        }

        GridView1.DataBind();
    }

    protected void Button1_Click(object sender, EventArgs e)
    {
        filterd5();
        // GridData();
    }

其中 fromad、fromtaluk、totaluk 是列標題。 在下拉列表中我綁定了所有標題

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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