Pregunta

Tengo una vista de cuadrícula SP que tiene cargas de datos en un ILIST (datos agregados a ILIST de DB). Cuando las flechas de paginación del buscapersonas "<>" se hacen clic en el buscapersonas, a veces se carga el mismo conjunto. Cuando intenté depurar el "MygridView_PageInxChanging" no se golpea. ¿Alguna razón por la que? ¿Y cuál sería un mejor enfoque para esto?

El código que tengo es:

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) En la carga de la página, he establecido el código como:

myIList = MethdToGenerateMyIList();

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

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

3) El método de cambio del índice de página es:

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

¿Fue útil?

Solución

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();

evento gridview

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

Method 2)

en lugar de ASP.NET, a medida que intentó TODO en .cs CodeBehind:

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();

evento de vista de cuadrícula

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

Licenciado bajo: CC-BY-SA con atribución
scroll top