我有一个包含信息的字符串的函数,将其拆分,然后将行和列添加到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();
}
答案 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数据绑定。