2011-12-18 43 views
2

我有如下所示的圍繞Table的各種元素的CSS定義(細節省略,僅供參考)。 GWT FlexTable頁眉列

table.entities { 
border: 1px solid #c5d7ef; 
border-collapse: collapse; 
width: 100%; 
margin-bottom: 0; 
} 

table.entities th, table.entities td { 
padding: .25em 1.5em .5em .5em; 
} 
table.entities th { 
    font-weight: bold; 
    text-align: left; 
    background: #e5ecf9; 
    white-space: nowrap; 
} 

table.entities th a, table.entities th a:visited { 
    color: black; 
    text-decoration: none; 
} 

table.entities td { 
    background-color: #fff; 
    text-align: left; 
    vertical-align: top; 
    cursor: pointer; 
} 

table.entities tr.even td { 
    background-color: #f9f9f9; 
} 

我套用樣式的偶數行,如:

flexTable.getRowFormatter().getElement(row).setClassName("even"); 

但由於某些原因,該標題樣式並不適用於表。以下是我已經嘗試

  • 由於這是我預料th應用樣式的第一行,但不知道這是一個有效的假設,使
  • 更改了標題樣式從th喜歡的東西theader然後使用第一行的行格式化程序明確應用於第一行。我嘗試將第一行的值設置爲1 & 0但都未給我結果

任何人都可以幫助我發現哪裏可能會出錯嗎?

回答

3

我很確定FlexTable不會呈現<th>標籤。一切都包含在<tbody>

您還必須記住<tr>標籤幾乎不可變,因此要將整行樣式設置爲將相同樣式應用於所有子標籤<td>

tr.someStyle td { 
    /* all styles that apply to the row */ 
} 

如果您發佈了您的實際樣式以及未應用的內容,或許我們可以進一步提供幫助。

+0

添加了原始問題的樣式細節 – 2011-12-19 04:54:58

+0

@ vishal.biyani,你還讀過關於FlexTable的部分,而不是渲染''標籤嗎?我剛剛檢查了FlexTable的源代碼,一切都是'​​'。所以你需要第一排的特殊風格。 – Strelok 2011-12-19 05:46:41

+1

你是對的。我爲header創建了一個單獨的樣式,並使用flexTable.getRowFormatter()。addStyleName(0,「headerRow」);較早的錯誤包括錯誤的行號和應用方式。感謝您的幫助,您將我引向正確的解決方案! – 2011-12-19 07:58:10