Pergunta

Eu tenho uma página com um controle listview e um controle DataPager. A fonte de dados de listas é definido através de programação usando este código:

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

Quando eu testar esta página em um navegador que vem com o erro: 'ListView com id 'ListView1'. Deve ter uma fonte de dados que seja implementos ICollection ou pode executar paginação fonte de dados se AllowPaging é verdade'

Como posso implementar paginação neste cenário?

Graças

Foi útil?

Solução

Tente

listview1.DataSource = bookmarks.ToArray()

Eu tive o mesmo problema esta semana.

Outras dicas

Uma resposta para o problema clique duas vezes que o OP encontradas posteriormente - mover a vincular ao manipulador de eventos OnPreRender:

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

ou talvez criar um propriedades da página de mudança e bindlistview lá.

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 em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top