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)
        {
        }
    }
Foi útil?

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
scroll top