GWT CellTable - 设置列宽

Opa*_*pal 17 gwt cell width

是否可以设置CellTableGWT 的列宽?

Eri*_*ric 26

编辑:从GWT 2.2开始支持table.setWidth和table.setColumnWidth

table.setWidth("100%", true);
table.setColumnWidth(nameColumn, 35.0, Unit.PCT);
table.setColumnWidth(addressColumn, 65.0, Unit.PCT);
Run Code Online (Sandbox Code Playgroud)

我能够使用一种以编程方式设置宽度的方法来扩展CellTable.这是一个黑客攻击,因为所有应该这样做的真正方法都是CellTable私有的,看起来GWT应该直接提供这个方法,但它似乎有效.

public void setColumnWidths(List<Integer> widths)
{
    TableElement tel = TableElement.as(getElement());
    NodeList<Element> colgroups = tel.getElementsByTagName("colgroup");
    if (colgroups.getLength() == 1)
    {
       TableColElement cge = TableColElement.as(colgroups.getItem(0));
       NodeList<Element> cols = cge.getElementsByTagName("col");
       for (int j = 0; j < widths.size(); j++)
       {
           TableColElement column = null;
           if (cols.getLength() > j)
           {
               column = TableColElement.as(cols.getItem(j));
           }
           else
           {
               column = cge.appendChild(Document.get().createColElement());
           }

           column.setWidth(widths.get(j)+"px");

       }

    }
}
Run Code Online (Sandbox Code Playgroud)


bes*_*orm 5

您可以使用该addColumnStyleName(int index, java.lang.String styleName)方法为特定列使用样式名称.

用于CellTable的Javadoc