webentwicklung-frage-antwort-db.com.de

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