1

如何在 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 的文档并不清楚使用thead和创建表tbody。任何人都可以帮忙吗?预先感谢。

4

2 回答 2

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();返回 deprecated com.google.gwt.user.client.Element。它会延伸com.google.gwt.dom.client.Element,所以也会延伸TableElement。完成所有转换后,您可以将行和单元格添加到thead.

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

在此处输入图像描述

于 2017-03-23T20:44:44.147 回答
0

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

于 2017-03-23T13:03:41.353 回答