LINQ e paging con una visualizzazione elenco
Domanda
Ho una pagina con un controllo listview e un controllo datapager. L'origine dati listviews è impostata a livello di codice utilizzando questo codice:
Dim dal as new dalDataContext Dim bookmarks = From data In dal.getData(userid) listview1.DataSource = bookmarks listview1.DataBind()
Quando provo questa pagina in un browser viene visualizzato l'errore: 'ListView con ID' listview1 'deve avere un'origine dati che implementa ICollection o può eseguire il paging dell'origine dati se AllowPaging è vero.'
Come posso implementare il paging in questo scenario?
Grazie
Soluzione
Prova
listview1.DataSource = bookmarks.ToArray()
Ho avuto lo stesso problema questa settimana.
Altri suggerimenti
Una risposta al problema del doppio clic che l'OP ha successivamente riscontrato: spostare Databind sul gestore eventi OnPreRender:
protected void Page_PreRender(object sender, EventArgs e)
{
listview1.DataBind();
}
o forse creare una proprietà della pagina cambiando 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();
}
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow