Question

J'ai un gridview que j'utilise pour afficher un résultat de données. Le problème est que je utilise la pagination en elle. Mais quand je clique sur la page # il est dit que je ne l'ai pas traité l'événement. Ai-je besoin de lier de nouveau l'ensemble de données ???

Merci

Était-ce utile?

La solution

Essayez le code suivant:

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

Autres conseils

Essayez

Dans le pageload

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

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

Dans le PageIndexChanging

GridView1.PageIndex = e.NewPageIndex;

loadGrid();

Dans VB.net, il n'a pas beaucoup de différence avec C #, vous retirez simplement les points-virgules à la fin de chaque ligne

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

Vous devez définir la .pageindex avant la liaison de données! Dans le cas contraire, vous auriez besoin des clics supplémentaires qui en fait doubles les appels de méthode BindData. Ce qui suit est mon code testé 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
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top