wake-up-neo.com

PageIndexChanging in GridView in ASP.NET

Ich habe eine Rasteransicht, mit der ich ein Datensatzergebnis anzeigen kann. Das Problem ist, dass ich darin Paging verwende. Wenn ich jedoch auf die Seite # klicke, wird angezeigt, dass ich das Ereignis nicht bearbeitet habe. Muss ich den Datensatz neu binden ???

Vielen Dank

23
JCTLK

Versuchen Sie den folgenden Code:

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

Versuch es

In der Seitenladung

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

Im Seitenindex wechseln

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

Im Seitenindex wechseln

GridView1.PageIndex = e.NewPageIndex;

loadGrid();
4
user2714046

In VB.net gibt es keinen großen Unterschied zu C #. Sie entfernen lediglich die Semikolons am Ende jeder Zeile

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
1
Peter Mankge

Sie sollten den .PageIndex setzen, bevor Sie Daten binden! Andernfalls würden Sie zusätzliche Klicks benötigen, die tatsächlich double die BindData-Methode aufruft. Das Folgende ist mein getesteter 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
chingNotCHing