对于非常大的数据模型而言,每次对网格分页时都加载整个数据源比较浪费。通常的选择是检索页面大小的块区的数据,而非检索所有的数据,然后单步执行当前行。DataGrid 通过 AllowCustomPaging 和 VirtualItemCount 属性支持块区操作。如果 AllowCustomPaging 为 true,则 DataGrid 不会根据 CurrentPageIndex 计算数据模型中的起始显示位置。DataGrid 将显示数据模型中的所有数据,而页导航栏将当前位置报告为 (VirtualItemCount+PageSize-1)/PageSize 之 CurrentPageIndex 页。
---------------------------------------------------------------
void Page_Load(Object sender, EventArgs E ) {
        if (!IsPostBack) {
            startIndex=0;
            ItemsGrid.VirtualItemCount=200;
        }
        BindGrid();
    }    void ItemsGrid_PageIndexChanged(Object sender, DataGridPageChangedEventArgs e) {
        startIndex = e.NewPageIndex * ItemsGrid.PageSize;
        ItemsGrid.CurrentPageIndex = e.NewPageIndex;
        BindGrid();
    }    void BindGrid() {
        ItemsGrid.DataSource = CreateDataSource();
        ItemsGrid.DataBind();
    }