【问题标题】:Search/Filter option in Gridview using Asp.net C#使用 Asp.net C# 在 Gridview 中搜索/过滤选项
【发布时间】:2015-02-25 08:48:06
【问题描述】:

我想在 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标题单元格 }

任何想法在这种情况下如何添加搜索/过滤选项..?

【问题讨论】:

  • 不清楚你想要什么以及你尝试了什么?
  • 你应该展示你尝试过的东西,否则这个问题太宽泛了,因为它要求解决方案。

标签: c# asp.net gridview


【解决方案1】:

我在我的代码中做了

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 是列标题。在下拉列表中我绑定所有标题

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-30
    • 2014-03-31
    相关资源
    最近更新 更多