Вы захотите включить подкачку, чтобы избежать ситуации, когда вы отображаете сотни записей на странице. По сути, вы будете использовать элементы управления страницей для перемещения по записям, а не к полосе прокрутки.
Связанный параметр, который может помочь lot , заключается в использовании ObjectDataSource, который извлекает только те записи, которые сетка хочет отобразить. При этом используется новая конструкция ROW_NUMBER () в SQL Server. Вот пример метода ObjectDataSource, который извлекает определенный диапазон записей. Он использует мой DAL, но у вас должно получиться довольно ясное представление:
[DataObjectMethodAttribute(DataObjectMethodType.Select, true)]
public List<SelectClassData> GetList(string sortType, int startRowIndex, int maximumRows)
{
if (!BusinessUtilities.SQLSafe(sortType))
throw new Exception("Illegal value in request (unsafe).");
startRowIndex++;
int EndRow = startRowIndex + maximumRows;
using (BSDIQuery qry = new BSDIQuery())
{
if (sortType.Length == 0)
sortType = "Title";
return
qry.Command(
"With OrderedClassEvent as (Select ClassID, Title, StartDate, EndDate, ROW_NUMBER() OVER (ORDER BY " + sortType + ") as RowNum From ClassEvent)")
.Append(" Select ClassID, Title, StartDate, EndDate From OrderedClassEvent Where RowNum Between @StartRow AND ").ParamVal(startRowIndex)
.Append("@EndRow ").ParamVal(EndRow)
.Append("Order By RowNum")
.ReturnList<SelectClassData>();
}
}
Что касается использования CSS и т. Д., Которые не сделают сетку zippier, но позволят вам определить атрибуты Grid (например, FooterStyle, HeaderStyle и т. Д.) В файле "Skin", который вы будете скрывать каталог тем. Это необязательно, но вы также можете определить стили для каждого атрибута, используя CSS. В файле скина будет показан «шаблон» GridView с CssClass для каждого атрибута. Когда вы ссылаетесь на создание сетки, вы ссылаетесь на файл Skin, а затем просто пропускаете все определения атрибутов, найденные в этом файле (gridview не нуждается в них, потому что он знает, что делать на основе на коже). Это особенно здорово, если вы хотите, чтобы все ваши сетки выглядели одинаково.