Question

J'ai une page avec un contrôle listview et un contrôle datapager. La source de données listviews est définie par programme à l’aide de ce code:

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

Lorsque je teste cette page dans un navigateur, l'erreur suivante apparaît: "ListView avec l'ID" listview1 "doit avoir une source de données qui implémente ICollection ou peut effectuer une pagination de la source de données si AllowPaging est à true."

Comment puis-je implémenter la pagination dans ce scénario?

Merci

Était-ce utile?

La solution

Essayez

listview1.DataSource = bookmarks.ToArray()

J'ai eu le même problème cette semaine.

Autres conseils

Réponse au problème du nombre de clics que l'OP a rencontré par la suite - déplacez l'index de données vers le gestionnaire d'événements OnPreRender:

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

ou peut-être créer une propriété de page changeante et bindlistview ici.

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();
}
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top