簡體   English   中英

ASP.NET 中 GridView 中的 PageIndexChanging

[英]PageIndexChanging in GridView in ASP.NET

我有一個用於顯示數據集結果的 gridview。 問題是我在其中使用分頁。 但是當我點擊頁面時,它說我還沒有處理這個事件。 我需要重新綁定數據集嗎???

謝謝

試試下面的代碼:

protected void grdView_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
    FillGrid();
    grdView.PageIndex = e.NewPageIndex;
    grdView.DataBind();
}

試試看

在頁面加載中

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

在頁面索引更改中

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();
    }
}

在頁面索引更改中

GridView1.PageIndex = e.NewPageIndex;

loadGrid();

在VB.net中,它與C#沒有太大區別,您只需將每行末尾的分號去掉即可

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

您應該在綁定數據之前設置 .PageIndex! 否則,您將需要額外的點擊,這實際上會使 BindData 方法調用增加一倍 以下是我測試過的vb代碼。

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

暫無
暫無

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

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