假设我有一个像这样的代码
Grid g = new Grid(2,2);
Label l = new Label("Hello");
g.setWidget(0,1, l);
s.setColspan(0,1,2); // there is no such method :(
那么如何在包含小部件的gwt Grid单元格上设置rowspan和colspan值?
答案 0 :(得分:26)
如果是选项,您可以使用FlexTable代替网格:
FlexTable flexTb= new FlexTable();
flexTb.getFlexCellFormatter().setColSpan(0, 1, 2);
flexTb.setWidget(0, 1, new Label("Hello"));
答案 1 :(得分:8)
对此有一个不那么简单的解决方案。它的工作原理是直接操作DOM。
Grid g = new Grid(10, 5);
Element e = g.getCellFormatter().getElement(0, 0);
e.setAttribute("colspan", "5");
ArrayList<Element> toRemove = new ArrayList<Element>();
for (int x=1; x<5; x++)
toRemove.add(g.getCellFormatter().getElement(0, x));
for (Element f : toRemove)
f.removeFromParent();
它确实如下:
请注意,我曾经使用for循环。我用一个循环尝试了它,但是有些元素是NULL,所以我尝试了这种方式并且它有效。
托马斯