2012-06-21 49 views
4

需要一些帮助来设置数据表的列宽。但是,数据表宽度似乎并不统一。数据表中列的宽度似乎因列标题长度而异。请参阅下面的代码。设置数据表中的列宽

<p:column style="text-align: left; width:15px;" > 
      <f:facet name="header"> 
       <h:outputText id="SalesHistoryID" value="View Sales History/Forecast"/> 
      </f:facet> 
      <h:commandLink id="ForecastID" value="View"/> 

在上述情况下,列标题值长度“查看销售历史/预测”似乎是大的和因此列宽也似乎取决于列标题文本值扩大。您能否告诉我是否有任何方法可以实际保持列宽的一致性,而不依赖于列标题文本值。

如果列标题文本长度太大,是否有办法保持列宽的一致性?请协助。提前致谢

回答

4

style =“table-layout:fixed”在表元素上就是你要找的东西。默认表格布局是“自动”,它确保没有单元格小于内容。是不适合的文本溢出。

+0

非常感谢您的回复。我也有类似的命令按钮问题。我已将按钮的宽度设置为固定值。但是,如果按钮上的文本超过了某个限制,则只有部分文本在按钮中可见。你可以请建议是否有任何方法让按钮指定宽度内的整个文本。 THANKs Advance – vr3w3c9

+0

设置完全没有宽度会使按钮足够大以适应其中的文本。如果你想在按钮上使用最小宽度(对于文本很少的文本),你可以使用min-width:* px –

+0

Hi Rasmus。感谢您的回应。我仍然对列宽有一些问题,在table元素上设置style =“table-layout:fixed”,似乎对JSF数据表工作正常。就我而言,当我尝试为primefaces数据表设置相同的值时,它似乎不起作用。列的宽度似乎取决于指定的文本标签的长度。 – vr3w3c9

13

要设置列宽为数据表,设定resizableColumns =“真”属性数据表中,然后设置宽度为使用宽度=“10”为列的特定列,那它:)

<p:dataTable id="dataTable" var="question" value="#{QuestionsMB.questionsList}" rowKey="#{question.id}" 
         paginator="true" rows="10" selection="#{QuestionsMB.selectedQuestions}" 
         paginatorTemplate="{CurrentPageReport} {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}" 
         lazy="true" rowsPerPageTemplate="10,15,50,100" 
         resizableColumns="true" 
         emptyMessage="No question found with given criteria" > 
       <f:facet name="header"> 
        Questions List 
       </f:facet> 

       <p:column selectionMode="multiple"/> 

       <p:column id="questionHeader" width="10"> 
        <f:facet name="header"> 
         <h:outputText maxlength="20" value="Question text :" /> 
        </f:facet> 
        <p:commandLink value="#{question.questionText}" update=":questionDetailForm:display" oncomplete="questionDialog.show()" title="View"> 
         <f:setPropertyActionListener value="#{question}" target="#{QuestionsMB.selectedQuestion}" /> 
        </p:commandLink> 

       </p:column> 
</p:dataTable> 
4
<p:dataTable id="id" value="#{bean.mainList}" var="dp" tableStyle="width:auto" resizableColumns="true" > 

tableStyle="width:auto" , resizableColumns="true"这将有助于满足列

+0

仍然是一个有用的答案:) –