PageIndexChanging in GridView in ASP.NET

后端 未结 4 2094
我寻月下人不归
我寻月下人不归 2021-02-05 05:09

I have a gridview which I am using to display a dataset result. The problem is I am using paging in it. But when I click on the page # it says that I haven\'t handled the event.

相关标签:
4条回答
  • 2021-02-05 05:43

    Try the following code:

    protected void grdView_PageIndexChanging(object sender, GridViewPageEventArgs e)
    {
        FillGrid();
        grdView.PageIndex = e.NewPageIndex;
        grdView.DataBind();
    }
    
    0 讨论(0)
  • 2021-02-05 05:46

    In VB.net, it does not have much difference with C#, you just remove the semicolons at the end of each line

    Private Sub myGridview_PageIndexChanging(sender As Object, e As GridViewPageEventArgs) Handles myGridview.PageIndexChanging
    
       LoadGridView() //Call your method to load the data into the grid.
       myGridview.PageIndex = e.NewPageIndex
       myGridview.DataBind()
    
    End Sub
    
    0 讨论(0)
  • 2021-02-05 05:53

    Try it

    In the pageload

    protected void Page_Load(object sender, EventArgs e)
    {
        if (!Page.IsPostBack)
        {
            loadGrid();
        }
    }
    

    In the pageindexchanging

    private void loadGrid()
    {
        using (your_bankEntities context = new your_bankEntities()) //use your connection .edmx
        {
            var jmDados = (from jm in context.yourdbo  orderby jm.your fieldkey  
                             select new
                               {
                                   jm.Field1,
                                   jm.Field2,
                                   jm.Field3,
                                   jm.Field4,
                                   ........ 
                                   jm.n
    
                               }).ToList();
            GridView1.DataSource = jmDados;
    
            GridView1.DataBind();
        }
    }
    

    In the pageindexchanging

    GridView1.PageIndex = e.NewPageIndex;
    
    loadGrid();
    
    0 讨论(0)
  • 2021-02-05 05:57

    You should set the .PageIndex before binding data! Otherwise, you would need extra clicks which actually double the BindData method calls. The following is my tested vb code.

    Private Sub GridViewL_PageIndexChanging(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewPageEventArgs) Handles GridViewL.PageIndexChanging
    
        GridViewL.PageIndex = e.NewPageIndex
        BindData()  ' your method to bind data to the grid
    End Sub
    
    0 讨论(0)
提交回复
热议问题