如果你想保持一个元素的灵活性并且FlexTable
需要添加一个thead
元素,你可以通过操作来实现TableElement
。这是相当低级的,但 id 可以满足您的需求。
以下是如何获取示例中给出的 DOM 结构:
FlexTable table = new FlexTable();
table.setText(0, 0, "January");
table.setText(0, 1, "$100");
table.setText(1, 0, "February");
table.setText(1, 1, "$80");
com.google.gwt.user.client.Element oldElement = table.getElement();
com.google.gwt.dom.client.Element element = (com.google.gwt.dom.client.Element) oldElement;
TableElement tableElement = (TableElement) element;
TableSectionElement tHead = tableElement.createTHead();
TableRowElement row = tHead.insertRow(0);
row.insertCell(0).setInnerText("Month");
row.insertCell(1).setInnerText("Savings");
RootPanel.get().add(table);
请注意,table.getElement();
返回 deprecated com.google.gwt.user.client.Element
。它会延伸com.google.gwt.dom.client.Element
,所以也会延伸TableElement
。完成所有转换后,您可以将行和单元格添加到thead
.
这是结果(在 Chrome 上使用 GWT 2.7 测试):