SpgridView PageIndexchange ne frappe pas lors du débogage
-
29-09-2020 - |
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)
{
}
}
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)
{
}
}
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)
{
}
}