1

对于类似于下面的代码,当光标悬停在列标题上时,标题不会出现。有任何想法吗?

        <h:column title="COLUMN 1">
            <f:facet name="header" >COL 1</f:facet>
            <h:outputText id="col1" value="#{oneEntry.col1}" styleClass="al"/>
        </h:column>

        <h:column title="COLUMN 2">
            <f:facet name="header" >COL 2</f:facet>
            <h:outputText id="col2" value="#{oneEntry.col2}" styleClass="al"/>
        </h:column>
4

2 回答 2

0

<h:column>标记没有 HTML 4.0 传递属性,因为 JSF 仅将这些属性生成为<td>元素。在 HTML 中,表格由<td>行内的元素组成,而列在行内隐式定义。

所以它喜欢为每一<td>行的每个特定元素指定标题属性。

<table border="1">
  <tr>
   <td title="first">Cell A1</td>
   <td>Cell B1</td>
  </tr>
  <tr>
   <td title="first">Cell A2</td>
   <td>Cell B2</td>
  </tr>
</table>

因此,没有什么比在 HTML 中为列指定整体标题更重要的了,您可以为<table>标签指定一个标题,它不过是<h:dataTable>.

或者,您可以通过将标题添加到该列中的组件来为单个数据单元格添加标题,如下所示:

<h:column>
      <f:facet name="header" >COL 1</f:facet>
      <h:outputText id="col1" value="#{oneEntry.col1}" styleClass="al"  title="COLUMN 1"/>
</h:column>

 <h:column>
      <f:facet name="header" >COL 2</f:facet>
      <h:outputText id="col2" value="#{oneEntry.col2}" styleClass="al" title="COLUMN 2"/>
</h:column>

它生成一个<span>包含带有 title 属性的 outputText 的值。

于 2012-08-09T05:02:16.340 回答
0

如果你使用 Primefaces,你可以使用类似的代码

<p:column>
    <f:facet name="header">
        <h:outputText value="TYPE" title="LINK-TYPE (DIRECT,TDR,TLGA)"/>
    </f:facet>

    <h:outputText escape="false" value="#{test.getLinkType()}"/>
</p:column>

我认为您的问题的解决方案是<f:facet>按照您在示例中所做的定义并<h:outputText>放入<f:facet>

使用您的示例,您将获得以下代码

<h:column>
    <f:facet name="header">
        <h:outputText value="COL 1" title="COLUMN 1"/>
    </f:facet>
    <h:outputText id="col1" value="#{oneEntry.col1}" styleClass="al"/>
</h:column>

<h:column title="COLUMN 2">
    <f:facet name="header">
        <h:outputText value="COL 2" title="COLUMN 2"/>
    </f:facet>
    <h:outputText id="col2" value="#{oneEntry.col2}" styleClass="al"/>
</h:column> 
于 2018-10-24T11:37:09.927 回答