PagedDataSource没有获取数据源

时间:2012-07-23 22:03:32

标签: c# datasource icollection entitycollection

我无法让PagedDataSource使用IEnumerated EntityCollection对象集合作为数据源。

PagedDataSource接受集合作为数据源,但我不能使用CurrentPageIndexIsLastPage等基本属性。

我的应用程序因错误Cannot compute Count for a data source that does not implement ICollection.

而中断

我试过

ICollection<Location> listlocations = Company.Locations;

但没有成功。

我该怎么办?

Codesnippet

    protected void loadBuildings()
    {
        PagedDataSource pds = new PagedDataSource();
        pds.DataSource = Company.Locations;
        pds.AllowPaging = true;
        pds.PageSize = Convert.ToInt16(ddlPageSize.SelectedValue);
        pds.CurrentPageIndex = CurrentPage;
        lnkbtnNext.Enabled = !pds.IsLastPage;
        lnkbtnPrevious.Enabled = !pds.IsFirstPage;

        buildingsDataList.DataSource = pds;
        buildingsDataList.DataBind();
    }

1 个答案:

答案 0 :(得分:0)

我必须使用选项AllowCustomPaging并定义我自己的网页,因为EntityCollection不支持ICollection类。

我添加了以下代码来定义我的页面/项目

    pds.VirtualCount = Company.Locations.Count();
    pds.PageSize = 3;
    pds.AllowCustomPaging = true;

以及我的pagegeneration方法中的其他一些代码

for (int i = 0; i < (pds.VirtualCount/pds.PageSize);i++)