2013-04-23 74 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