Pregunta

Tengo una página con un control de vista de lista y un control de datapager. La fuente de datos de listviews se establece mediante programación utilizando este código:

Dim dal as new dalDataContext
Dim bookmarks = From data In dal.getData(userid)
listview1.DataSource = bookmarks
listview1.DataBind()

Cuando pruebo esta página en un navegador, aparece el error: 'ListView with id' listview1 'debe tener un origen de datos que implemente ICollection o que pueda realizar la paginación del origen de datos si AllowPaging es verdadero.'

¿Cómo puedo implementar la paginación en este escenario?

Gracias

¿Fue útil?

Solución

Probar

listview1.DataSource = bookmarks.ToArray()

Tuve el mismo problema esta semana.

Otros consejos

Una respuesta al problema de doble clic que el OP detectó posteriormente: mueva el Databind al controlador de eventos de OnPreRender:

    protected void Page_PreRender(object sender, EventArgs e)
    {
        listview1.DataBind();
    }

o tal vez cree una página cambiando las propiedades y vincule la vista allí.

protected void lv_PagePropertiesChanging(object sender, PagePropertiesChangingEventArgs e)
{
    //set current page startindex, max rows and rebind to false
    DataPager dp = lvNews.FindControl("lvDataPager1") as DataPager;
    dp.SetPageProperties(e.StartRowIndex, e.MaximumRows, false);

    BindListView();
}
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top