2012-10-26 33 views
1

正如标题所示,我正在寻找一种方法来在我的支持bean中设置列的宽度。 jsp上有一个面板,这是几个屏幕共有的面板;其内容根据用户当前正在查看的屏幕加载。对于这个特定的屏幕,我在backing bean中创建一个HtmlDataTable,然后将其添加到面板中。可能在backingbean中设置HtmlDataTable列宽

我需要更改其特定列的宽度。我可以作为UIColumn访问列,但UIColumn没有宽度属性。也许使用ColumnClasses的东西,但搜索谷歌没有领先。

任何想法?

回答

1

既然你已经提到过关于列类我发布这个。我不知道这是否能解决您的问题。如果不是,请澄清一点。 1.你应该有这样的风格类。

<style>
。首先{
             背景色:绿色;
            width:100px;
   }
。第二{
           背景颜色:黄色;
            width:200px;
 }
</style>

您的表将如下

<h:dataTable value="" binding="#{myBean.table}">
            <rich:column>First Column</rich:column>
            <rich:column>Second Column</rich:column>
</h:dataTable>

你的bean包含了一些什么样的这一点。

HtmlDataTable table = new HtmlDataTable();

公共HtmlDataTable getTable(){
            table.setStyle( “边界:实”);
           表。setColumnClasses(“first,second”);
            return table;
}
公共无效硬性(HtmlDataTable表){
            this.table =表;
}

+0

我在周末深入研究了一些列类,并且我不确定这是否是最好的方法。看来我需要为表中的每一列设置一个类,并且有几个表列是有条件地呈现的,这将抛出样式排序。我可以设置逻辑来处理这个问题,但我不确定它是否足够满足我们的需求... – bendicott

+0

我回顾一下,这个工作非常完美。我担心必须将样式应用到每个列两次,但对于我希望离开的任何类,我只能在列类字符串中插入一个空格。我最终得到了“......,,,style,,...”这样的东西并不完美,但它完成了工作。谢谢! – bendicott