PagedDataSource не получает источник данных
Я не могу получить PagedDataSource
использовать коллекцию IEnumerated EntityCollection
объекты в качестве источника данных.
PagedDataSource
принимает коллекцию в качестве источника данных, но тогда я не могу использовать основные свойства, такие как CurrentPageIndex
а также IsLastPage
и т.п.
Мое приложение разрывается с ошибкой 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 ответ
Я должен был использовать опцию AllowCustomPaging
и определить мои собственные страницы, потому что EntityCollection
не поддерживает ICollection
учебный класс.
Я добавил следующий код, чтобы определить мои страницы / элементы
pds.VirtualCount = Company.Locations.Count();
pds.PageSize = 3;
pds.AllowCustomPaging = true;
а также некоторый другой код в моем методе генерации страниц
for (int i = 0; i < (pds.VirtualCount/pds.PageSize);i++)