2013-04-23 70 views
0

我有一个表格的人是在后面的代码中动态添加的。该表位于一个更新面板内:在asp.net中动态添加表格不会清除样式

<asp:UpdatePanel runat="server" ID="upnlPR"> 
     <ContentTemplate> 
      <asp:Table ID="tblPR" runat="server"> 
      </asp:Table> 
     </ContentTemplate> 
    </asp:UpdatePanel> 

当我做了tblPR.Rows.Clear()在后面的代码,表重新正确绘制自己了,但似乎已应用到该行的格式在该位置之前,重画仍然应用于不正确的单元格。任何想法为什么发生这种情况?

我已经尝试使UpdatePanel updatemode有条件并在清除行后执行upnlPR.Update(),但此问题仍然存在。特别的问题是:应用于单元格中的样式仍然应用该行号/单元格位置,仍然应用该行号/单元格位置中的单元格的列跨度。

谢谢!

(asp.Net,C#)

款式细胞cell.CssClass = competencyAchievementView.ManagerScore > competencyAchievementView.UserScore ? "manWorseScore" : "manBetterScore";

+0

你在说什么格式? – 2013-04-23 12:25:57

+0

你能告诉我们你是如何风格的项目? – Yeronimo 2013-04-23 12:27:16

+0

添加了样式代码到问题 – Madeleine 2013-04-23 12:44:04

回答

0

我想你应该直接删除该行或整个表格控件,并将其添加回页面。 clear()函数旨在删除内容,而不是样式。 但也许你也可以,在你的绑定(也许它可以帮助向我们展示),只需初始化它?我的意思是,如果我理解得好,除了班级manWorseScore和manBetterScore之外,你还有第三种可能(没有风格),对吧?

+0

如果我说tblPR = new Table();那么它永远不会将行添加到表中。很奇怪。 – Madeleine 2013-04-23 13:10:02

+0

我最终遍历每一行,并做了tblPR.Rows.RemoveAt(i)...谢谢。我认为Rows.Clear()会达到同样的效果 – Madeleine 2013-04-23 13:14:00