Click here to Skip to main content
15,914,488 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
XML
<%@ Page Title="Search Business Type" Language="C#" MasterPageFile="~/ydgMasterPage.master"
    AutoEventWireup="true" CodeFile="SearchBusinessType.aspx.cs" Inherits="SearchBusinessType" %>

<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" runat="Server">
    <link href="css/gridView.css" rel="stylesheet" type="text/css" />
    <div align="center">
        <asp:Label ID="lblSearching" runat="server" ForeColor="Red" Font-Size="Large">Search By Business Type</asp:Label><br />
        <asp:LinkButton ID="lnkBtnA" runat="server" OnClick="lnkBtnA_Click">A</asp:LinkButton>
        <asp:LinkButton ID="lnkBtnB" runat="server" OnClick="lnkBtnB_Click">B</asp:LinkButton>
        <asp:LinkButton ID="lnkBtnC" runat="server" OnClick="lnkBtnC_Click">C</asp:LinkButton>
 </div>
    <br />
<div align="center">
        <asp:Label ID="Message" ForeColor="Red" runat="server" />
        <asp:GridView ID="gridAlphaBetical" runat="server" EmptyDataText="There is no Data."
            AutoGenerateColumns="False" Width="500px"AllowPaging="true"
            EnableModelValidation="True" OnPageIndexChanging="gridAlphaBetical_PageIndexChanging1">
            <Columns>
                <asp:BoundField DataField="New Business Type" HeaderText="Business Type(Eng)" />
                <asp:TemplateField>
                    <ItemTemplate>
                        <asp:LinkButton ID="lnkView" runat="server" CommandArgument="<%#Bind('Sr') %>" OnCommand="lnkView_Click"
                            Text="View" ViewStateMode="Enabled"></asp:LinkButton>
                    </ItemTemplate>
                </asp:TemplateField>
            </Columns>
        </asp:GridView>
    </div>
</asp:Content>

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Web.Security;
using System.Data.SqlClient;
using System.Web.Configuration;

public partial class SearchBusinessType : System.Web.UI.Page
{
    protected void gridAlphaBetical_PageIndexChanging1(object sender, GridViewPageEventArgs e)
    {
        if(Page.IsPostBack)
        {
            gridAlphaBetical.PageIndex = e.NewPageIndex;

        }

    }

 public void BindGridData_A()
    {

            string constring = WebConfigurationManager.ConnectionStrings["ydConnectionString"].ToString();
            SqlConnection connection = new SqlConnection(constring);

            SqlCommand cmd = new SqlCommand();
            SqlDataAdapter da = new SqlDataAdapter(cmd);
            da.SelectCommand = cmd;
            cmd.Connection = connection;
            DataTable dtA = new DataTable();

            cmd.CommandText = "SELECT * FROM BusinessCode WHERE [New Business Type] LIKE 'A%'";

            da.Fill(dtA);
            gridAlphaBetical.DataSource = dtA;
            gridAlphaBetical.DataBind();

    }
    public void BindGridData_B()
    {

            string constring = WebConfigurationManager.ConnectionStrings["ydConnectionString"].ToString();
            SqlConnection connection = new SqlConnection(constring);

            SqlCommand cmd = new SqlCommand();
            SqlDataAdapter da = new SqlDataAdapter(cmd);
            da.SelectCommand = cmd;
            cmd.Connection = connection;
            DataTable dtB = new DataTable();


            cmd.CommandText = "SELECT * FROM  BusinessCode WHERE [New Business Type] LIKE 'B%'";

            da.Fill(dtB);
            gridAlphaBetical.DataSource = dtB;
            gridAlphaBetical.DataBind();

    }
    public void BindGridData_C()
    {

            string constring = WebConfigurationManager.ConnectionStrings["ydConnectionString"].ToString();
            SqlConnection connection = new SqlConnection(constring);

            SqlCommand cmd = new SqlCommand();
            SqlDataAdapter da = new SqlDataAdapter(cmd);
            da.SelectCommand = cmd;
            cmd.Connection = connection;
            DataTable dtC = new DataTable();


            cmd.CommandText = "SELECT * FROM  BusinessCode WHERE [New Business Type] LIKE 'C%'";

            da.Fill(dtC);
            gridAlphaBetical.DataSource = dtC;
            gridAlphaBetical.DataBind();

    }

 protected void lnkBtnA_Click(object sender, EventArgs e)
    {

          BindGridData_A();


    }
    protected void lnkBtnB_Click(object sender, EventArgs e)
    {


            BindGridData_B();

    }
    protected void lnkBtnC_Click(object sender, EventArgs e)
    {
            BindGridData_C();
    }

}
Posted
Updated 2-Apr-12 23:04pm
v3
Comments
Prasad_Kulkarni 3-Apr-12 1:21am    
This is really very difficult to follow such huge block of code. Please consider your code and give exact problem line. This is not done.
heinhtataung 3-Apr-12 4:53am    
i'm sorry.. i will post the new ..... :D

Because you're not using SqlDataSource (or any other DataSource component), you have to call DataBind method manually every time grid changes. Since you have 3 different data sets, you need to keep track which is active. I used ViewState here but it can be any other way.

C#
protected void gridAlphaBetical_PageIndexChanging1(object sender, GridViewPageEventArgs e)
{
    if(Page.IsPostBack)
    {
        gridAlphaBetical.PageIndex = e.NewPageIndex;
        switch ((string)ViewState["activeBinding"])
        {
            case "A": BindGridData_A(); break;
            case "B": BindGridData_B(); break;
            case "C": BindGridData_C(); break;
        }
    }
}

protected void lnkBtnA_Click(object sender, EventArgs e)
{
    BindGridData_A();
    ViewState["activeBinding"] = "A";
}

protected void lnkBtnB_Click(object sender, EventArgs e)
{
    BindGridData_B();
    ViewState["activeBinding"] = "B";
}

protected void lnkBtnC_Click(object sender, EventArgs e)
{
    BindGridData_C();
    ViewState["activeBinding"] = "C";
}
 
Share this answer
 
Comments
heinhtataung 3-Apr-12 23:37pm    
Extremely Thanks sir!
It is really Helpful :)
Now, i've solved by your solution :)
Hi @Sjelen

Please check the PageIndexChanging1 event

C#
protected void gridAlphaBetical_PageIndexChanging1(object sender, GridViewPageEventArgs e)
    {
        if(Page.IsPostBack)
        {
            gridAlphaBetical.PageIndex = e.NewPageIndex;
////////////////////////
Here you have to bind the grid again ///////////////
        }

    }


Hope it will solve your problem

Thanks
 
Share this answer
 
v2
Comments
heinhtataung 3-Apr-12 23:37pm    
Thanks for the suggestion sir !
Now it is ok ! :)
XML
<%@ Page Title="Search Business Type" Language="C#" MasterPageFile="~/ydgMasterPage.master"
    AutoEventWireup="true" CodeFile="SearchBusinessType.aspx.cs" Inherits="SearchBusinessType" %>

<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" runat="Server">
    <link href="css/gridView.css" rel="stylesheet" type="text/css" />
    <div align="center">
        <asp:Label ID="lblSearching" runat="server" ForeColor="Red" Font-Size="Large">Search By Business Type</asp:Label><br />
        <asp:LinkButton ID="lnkBtnA" runat="server" OnClick="lnkBtnA_Click">A</asp:LinkButton>
        <asp:LinkButton ID="lnkBtnB" runat="server" OnClick="lnkBtnB_Click">B</asp:LinkButton>
        <asp:LinkButton ID="lnkBtnC" runat="server" OnClick="lnkBtnC_Click">C</asp:LinkButton>
 </div>
    <br />
<div align="center">
        <asp:Label ID="Message" ForeColor="Red" runat="server" />
        <asp:GridView ID="gridAlphaBetical" runat="server" EmptyDataText="There is no Data."
            AutoGenerateColumns="False" Width="500px"AllowPaging="true"
            EnableModelValidation="True" OnPageIndexChanging="gridAlphaBetical_PageIndexChanging1">
            <Columns>
                <asp:BoundField DataField="New Business Type" HeaderText="Business Type(Eng)" />
                <asp:TemplateField>
                    <ItemTemplate>
                        <asp:LinkButton ID="lnkView" runat="server" CommandArgument="<%#Bind('Sr') %>" OnCommand="lnkView_Click"
                            Text="View" ViewStateMode="Enabled"></asp:LinkButton>
                    </ItemTemplate>
                </asp:TemplateField>
            </Columns>
        </asp:GridView>
    </div>
</asp:Content>


    protected void gridAlphaBetical_PageIndexChanging1(object sender, GridViewPageEventArgs e)
    {
        if(Page.IsPostBack)
        {
            gridAlphaBetical.PageIndex = e.NewPageIndex;

        }

    }

 public void BindGridData_A()
    {

            string constring = WebConfigurationManager.ConnectionStrings["ydConnectionString"].ToString();
            SqlConnection connection = new SqlConnection(constring);

            SqlCommand cmd = new SqlCommand();
            SqlDataAdapter da = new SqlDataAdapter(cmd);
            da.SelectCommand = cmd;
            cmd.Connection = connection;
            DataTable dtA = new DataTable();

            cmd.CommandText = "SELECT * FROM BusinessCode WHERE [New Business Type] LIKE 'A%'";

            da.Fill(dtA);
            gridAlphaBetical.DataSource = dtA;
            gridAlphaBetical.DataBind();

    }
    public void BindGridData_B()
    {

            string constring = WebConfigurationManager.ConnectionStrings["ydConnectionString"].ToString();
            SqlConnection connection = new SqlConnection(constring);

            SqlCommand cmd = new SqlCommand();
            SqlDataAdapter da = new SqlDataAdapter(cmd);
            da.SelectCommand = cmd;
            cmd.Connection = connection;
            DataTable dtB = new DataTable();


            cmd.CommandText = "SELECT * FROM  BusinessCode WHERE [New Business Type] LIKE 'B%'";

            da.Fill(dtB);
            gridAlphaBetical.DataSource = dtB;
            gridAlphaBetical.DataBind();

    }
    public void BindGridData_C()
    {

            string constring = WebConfigurationManager.ConnectionStrings["ydConnectionString"].ToString();
            SqlConnection connection = new SqlConnection(constring);

            SqlCommand cmd = new SqlCommand();
            SqlDataAdapter da = new SqlDataAdapter(cmd);
            da.SelectCommand = cmd;
            cmd.Connection = connection;
            DataTable dtC = new DataTable();


            cmd.CommandText = "SELECT * FROM  BusinessCode WHERE [New Business Type] LIKE 'C%'";

            da.Fill(dtC);
            gridAlphaBetical.DataSource = dtC;
            gridAlphaBetical.DataBind();

    }

 protected void lnkBtnA_Click(object sender, EventArgs e)
    {

          BindGridData_A();


    }
    protected void lnkBtnB_Click(object sender, EventArgs e)
    {


            BindGridData_B();

    }
    protected void lnkBtnC_Click(object sender, EventArgs e)
    {
            BindGridData_C();
    }


There is LinkButton A,B and C.
When Click A.. the data will show Like'A%' and so on...
The problem is........ When adding the paging to the grid view,paging doesn't work correctly and need to press and press again to the linkButton A,B and C ...
I tested all i can....but can't get the solution .......
 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900