0

帮助我对以下问题进行排序。

我有一个数据集,并且该数据集有“n”行的表。

我想在数据集中显示表中的前 5 行。

我的页面将每 1 分钟刷新一次。所以每当我的页面刷新时,我需要显示数据集中接下来的 5 行。

例如,如果我的数据集有 15 行。

第一次加载页面时,它应该只显示/获取数据集中的前 5 行(1 到 5)。

Wehn 页面回发/刷新它应该从数据集中显示第二组 5 行(6 到 10)。

再次,当页面回发时,它应该从数据集中显示第三组 5 行(11 到 15)。

注意:我没有在我的网页中使用 GridView。我正在使用动态控件从数据集中填充数据。

谢谢,

大卫

4

2 回答 2

0

设置一个 hiddentfield 并将值设置为 1。然后在 ispostback=true 语句中的 pageload 上增加 hiddenfield 的值。然后将 hiddenfield 的值传递到数据库中。

示例代码...

    if (isPostBack){
hiddentFieldForTimeCount.value= (int)hiddentFieldForTimeCount.value+1;

}

function CallDB(){
DataTable tbl=function callDB(hiddentFieldForTimeCount.value);
DataBind(tbl);
}

根据 hiddenfield 值,您可以从数据库中选择数据。

于 2013-06-07T10:31:57.440 回答
0

您可以克隆原始数据表,并将您想要的任何行复制到克隆的数据表。

private DataTable CopyDataTable(DataTable dt, int index)
{
    DataTable cloneDT = dt.Clone(); // Clone DataTable Structure

    for (int i = index, j = index + 5; i < j; i++)
    {
        DataRow dr = dt.Rows[i];
        cloneDT.Rows.Add(dr.ItemArray);
    }

    return cloneDT;
}

您可以像这样调用该方法:

GridView1.Datasource  = CopyDataTable(dt, 0); // create new DataTable, with rows 0-4
GridView1.DataBind();

GridView1.Datasource  = CopyDataTable(dt, 5); // create new DataTable, with rows 5-9
GridView1.DataBind();
于 2013-06-07T10:40:17.990 回答