如何使用thead和tbody创建FlexTable

时间:2017-03-23 11:56:26

标签: java gwt flextable

如何在GWT FlexTable中创建这个最简单的表?

<table>
  <thead>
    <tr>
      <th>Month</th>
      <th>Savings</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>January</td>
      <td>$100</td>
    </tr>
    <tr>
      <td>February</td>
      <td>$80</td>
    </tr>
  </tbody>
</table>

FlexTable的文档不清楚如何使用theadtbody创建表格。有人可以帮忙吗?提前谢谢。

2 个答案:

答案 0 :(得分:1)

如果您希望保留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();返回已弃用的com.google.gwt.user.client.Element。它扩展了com.google.gwt.dom.client.ElementTableElement也是如此。完成所有演员表后,您可以将行和单元格添加到thead

以下是结果(在Chrome上使用GWT 2.7测试):

enter image description here

答案 1 :(得分:0)

这是不可能的。 你为什么需要它?