SPGridView PageIndexChanging não atingido quando a depuração
-
29-09-2020 - |
Pergunta
Eu tenho um SP modo de exibição de grade que tem carrega os dados em uma IList (dados adicionados à iList do banco de dados).Quando o pager setas de paginação "< >" são clicados pager, às vezes, carrega o mesmo conjunto.Quando eu tentei depurar o "myGridView_PageIndexChanging" não começar a batida.Alguma razão?E qual seria a melhor abordagem para isso?
O código que eu tenho é:
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) Na página de carga de eu ter definido um código como:
myIList = MethdToGenerateMyIList();
myGridView.AllowPaging = true;
myGridView.PageSize = 10;
myGridView.PageIndexChanging += myGridView_PageIndexChanging;
memberGridView.DataSource = myIList;
memberGridView.DataBind();
3) A página de índice alterando o método é:
private void myGridView_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
try
{
myGridView.PageIndex = e.NewPageIndex;
myGridView.DataSource = myIList;
myGridView.DataBind();
}
catch (Exception ex)
{
}
}
Solução
método 1)
asp.net
<asp:SPGridView ID="myGridView" runat="server" AllowPaging="True" GridLines="None"
OnPageIndexChanging="myGridView_PageIndexChanging" PageSize="10" ShowHeader="False" ShowFooter="False" />
c#
onload
myIList = MethdToGenerateMyIList();
memberGridView.DataSource = myIList;
memberGridView.DataBind();
gridview evento
private void myGridView_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
try
{
myGridView.PageIndex = e.NewPageIndex;
myGridView.DataSource = myIList;
myGridView.DataBind();
}
catch (Exception ex)
{
}
}
Método 2)
em vez de asp.net, como você tentou todo no .cs code-behind:
asp.net
<SharePoint:SPGridView ID="myGridView" runat="server" AutoGenerateColumns="false" AllowSorting="false" OnRowDataBound="myGridView_RowDataBound" >
.cs onload:
myIList = MethdToGenerateMyIList();
myGridView.AllowPaging = true;
myGridView.PageSize = 10;
myGridView.PageIndexChanging += new EventHandler(myGridView_PageIndexChanging);
memberGridView.DataSource = myIList;
memberGridView.DataBind();
modo de exibição de grade do evento
private void myGridView_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
try
{
myGridView.PageIndex = e.NewPageIndex;
myGridView.DataSource = myIList;
myGridView.DataBind();
}
catch (Exception ex)
{
}
}
Licenciado em: CC-BY-SA com atribuição
Não afiliado a sharepoint.stackexchange