Showing posts with label selected fields. Show all posts
Showing posts with label selected fields. Show all posts

Wednesday, 1 April 2015

asp.net c# live search on gridview by selected fields

In my previous post I explained about selected fields to show in Gridview, now I am going to explain how to filter the data by selected fields using textbox.

asp.net code

<select id="selectfields2" name="selectfields" data-width="100%" multiple class="selectpicker show-tick" data-live-search="true" data-style="btn-danger" title="Select fields" enableviewstate="true">
                            <option value="*">Select All</option>
                            <option value="Address">Address</option>
                            
                        </select>

<asp:TextBox ID="txtfilter" runat="server" OnTextChanged="txtfilter_TextChanged" AutoPostBack="true" CssClass="form-control" placeholder=" search here"></asp:TextBox>
                                    <asp:HiddenField ID="hdfields" runat="server" />

                                    <asp:HiddenField ID="hdfieldsquery" runat="server" />

C# CODE

 protected void txtfilter_TextChanged(object sender, EventArgs e)
    {
        string FieldName2 =  Page.Request.Form["selectfields"].ToString();
        string[] SplitFieldName2 = FieldName2.Split(',');
        foreach(string st in SplitFieldName2)
        {
            hdfieldsquery.Value = hdfieldsquery.Value + st + " like '%" + txtfilter.Text.ToString() + "%' or ";
        }

        if (FieldName2.ToString() != "*")
        {
            if (hdfields.Value.ToString() != "")
            {
                string SQLQuery2 = "Select * from FinalData where " + hdfieldsquery.Value.ToString() + "IDS like '%" + txtfilter.Text.ToString() + "%' or University like '%" + txtfilter.Text.ToString() + "%' or State like '%" + txtfilter.Text.ToString() + "%' order by IDS ASC";
                SqlCommand CMD = new SqlCommand(SQLQuery2);
                gv.DataSource = GetData(CMD);
                gv.DataBind();


                hdfieldsquery.Value = null;
 }

        }
}
}

Hope the above code will help you, if you have any query please revert.

Simple selected fields in Gridview using c#

Here I am going to explain you, how to show only selected fields in Gridview using dropdown and command button

Here we go: Dropdown with field names

<asp:DropDownList ID="ddlsearch" runat="server" CssClass="selectpicker show-tick pull-right" data-live-search="true">
                        <asp:ListItem Text="Field 1" Value="Field 1"></asp:ListItem>
                        <asp:ListItem Text="Field 2" Value="Field 2"></asp:ListItem>                        
                    </asp:DropDownList>

<asp:Button ID="btnsf" runat="server" CssClass="btn btn-danger" Text="Search database" OnClick="btnsf_Click" />

C# CODE

string FieldName = Page.Request.Form["selectfields"].ToString();
        string[] SplitFieldName = FieldName.Split(',');

        if (FieldName.ToString() != "*")
        {
            if (SplitFieldName.Length < 11)
            {
                BindData();

                if (FieldName.IndexOf("Field 1") != -1) { gv.Columns[3].Visible = true; } else { gv.Columns[3].Visible = false; }
                if (FieldName.IndexOf("Field 2") != -1) { gv.Columns[5].Visible = true; } else { gv.Columns[5].Visible = false; }
                
            }
            else
            {
                string Alerts = "alert('Maximum fields can be select upto 10')";
                ScriptManager.RegisterClientScriptBlock((sender as Control), this.GetType(), "alert", Alerts, true);
                gv.DataBind();

            }

I HOPE THIS WILL HELP YOU, IF YOU HAVE ANY QUERY PLEASE REVERT.