将数据从事件内部绑定到dataGrid

时间:2011-09-20 10:08:42

标签: c# asp.net events gridview

我有一个包含信息的字符串的函数,将其拆分,然后将行和列添加到asp.net GridView。

没关系,但问题是这个函数是从一个事件中触发的,然后当我这样做时:

TestGrid.DataSource = (myTable).DefaultView;
TestGrid.DataBind();

它没有填满网格和显示(myTable有所有正确的信息)

我的网格看起来像:

<asp:UpdatePanel ID="UpdateTestingGrid" runat="server" UpdateMode="Conditional">
                <ContentTemplate>
                    <asp:GridView ID="TestGrid" runat="server" CssClass="pipesTbl">

                    </asp:GridView>
                </ContentTemplate>

如果我理解正确,那就是它不在上下文中,

任何人都可以尝试并帮助解决这个问题吗? 甚至只是帮助我和什么开始搜索谷歌?我在找什么?

修改

希望这有点帮助

protected void progressBar_RunTask(object sender, EO.Web.ProgressTaskEventArgs e)
{       
    tester.done += new tester.PipeDoneEvtArgs(tester_Done);

    progressBar.Maximum = 100;

}

void tester_Done(double runTime)
{

    DataTable myTable = new DataTable();

    //Here i fill the myTable with rows and columns

    TestGrid.DataSource = (myTable).DefaultView;
    TestGrid.DataBind();
}

2 个答案:

答案 0 :(得分:0)

您需要调用UpdatePanel的Update()方法才能刷新子控件(GridView)。

void tester_Done(double runTime)
{
    DataTable myTable = new DataTable();

    //Here i fill the myTable with rows and columns

    TestGrid.DataSource = (myTable).DefaultView;
    TestGrid.DataBind();
    UpdateTestingGrid.Update(); // UpdateMode must be Conditional
 }

答案 1 :(得分:0)

请编辑您的问题以反映与essentialobjects库相关的问题。

你也看过这个演示吗? Demo link

我相信您可以在UpdateTestingGrid更新面板中添加隐藏按钮,并在进度条的ClientSideOnTaskDone方法中为此按钮调用__doPostBack方法。 在该按钮的单击事件处理程序中执行gridview数据绑定。