以编程方式刷新asp.net中的数据网格

时间:2010-07-06 17:47:40

标签: c# asp.net

我有一个asp.net网页,它会执行一系列(慢速,因此问题)计算并将它们全部转储到网页中的数据网格中。我希望能够让页面显示部分结果。

我已经想出了每次完成一行时如何重新更新网格,但在完成所有计算之前,页面仍然不会显示结果。有没有人知道来自asp.net的调用可以告诉页面刷新自己?

P.S。我目前使用的更新功能如下:

    private void updateDisplay(DataTable outputTable)
    {
        if (outputTable.Rows.Count > 0)
        {
            PlaceHolder1.Controls.Clear();

            PlaceHolder1.Controls.Add(new LiteralControl("<br>"));
            GridView myView = new GridView();
            myView.DataSource = outputTable;
            myView.DataBind();
            myView.Visible = true;

            PlaceHolder1.Controls.Add(myView);
        }
    }

1 个答案:

答案 0 :(得分:0)

您可以随时使用类似Ajax Timer的内容以及一些efficient paging(仅提取少量数据而非所有内容)。

这样你就可以在每3秒的间隔内为10条记录做一个简短的select语句,你可以在进程线程之外进行。

如果您希望每次添加一行时都更新网格,那么这样做也很好,那么请确保您启动重量级,提升过程一个单独的BackgroundWorker。我还是会实现更有效的分页,以保持你的select语句小而简化。