Question

J'ai une vue en grille SP qui a chargé des données dans une IList (données ajoutées à IList à partir de DB). Lorsque les flèches de pagination de pageuse "<>" sont cliquées sur le paageur chargent parfois le même ensemble. Quand j'ai essayé de déboguer le "mygridview_pageindexchangeing" ne sait pas. Toute raison pour laquelle? Et quelle serait une meilleure approche pour cela?

code que j'ai est:

1) SPDATAGRID:

<SharePoint:SPGridView ID="myGridView" runat="server" AutoGenerateColumns="false" AllowSorting="false" OnRowDataBound="myGridView_RowDataBound" >

pager:

<SharePoint:SPGridViewPager ID="myGridViewPager" runat="server" GridViewId="myGridView" Visible="false">

2) Sur la charge de la page, j'ai défini le code comme:

myIList = MethdToGenerateMyIList();

myGridView.AllowPaging = true;
myGridView.PageSize = 10;
myGridView.PageIndexChanging += myGridView_PageIndexChanging;

memberGridView.DataSource = myIList;
memberGridView.DataBind();

3) La méthode de changement d'indice de page est la suivante:

private void myGridView_PageIndexChanging(object sender, GridViewPageEventArgs e)
    {
        try
        {
            myGridView.PageIndex = e.NewPageIndex;
            myGridView.DataSource = myIList;
            myGridView.DataBind();
        }
        catch (Exception ex)
        {
        }
    }

Était-ce utile?

La solution

Méthode 1)

ASP.NET

<asp:SPGridView ID="myGridView" runat="server" AllowPaging="True" GridLines="None" 
        OnPageIndexChanging="myGridView_PageIndexChanging" PageSize="10" ShowHeader="False" ShowFooter="False" /> 

c #

surcharge

myIList = MethdToGenerateMyIList();
memberGridView.DataSource = myIList;
memberGridView.DataBind();

GridView Event

private void myGridView_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
    try
    {
        myGridView.PageIndex = e.NewPageIndex;
        myGridView.DataSource = myIList;
        myGridView.DataBind();
    }
    catch (Exception ex)
    {
    }
}

méthode 2)

au lieu d'ASP.NET, comme vous avez essayé TODO en .Cs CodeBeHind:

ASP.NET

<SharePoint:SPGridView ID="myGridView" runat="server" AutoGenerateColumns="false" AllowSorting="false" OnRowDataBound="myGridView_RowDataBound" >

.CS surcharger:

myIList = MethdToGenerateMyIList();

myGridView.AllowPaging = true;
myGridView.PageSize = 10;
myGridView.PageIndexChanging += new EventHandler(myGridView_PageIndexChanging);

memberGridView.DataSource = myIList;
memberGridView.DataBind();

Evénement de la grille

private void myGridView_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
    try
    {
        myGridView.PageIndex = e.NewPageIndex;
        myGridView.DataSource = myIList;
        myGridView.DataBind();
    }
    catch (Exception ex)
    {
    }
}

Licencié sous: CC-BY-SA avec attribution
Non affilié à sharepoint.stackexchange
scroll top