あなたがFlexTable
の柔軟性を維持し、thead
要素を追加する必要がしたい場合は、TableElement
を操作することによって、それを達成することができます。それはかなり低レベルですが、あなたが必要とするのはIDです。
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
を非推奨のこと:ここで
はあなたの例で与えられたDOM構造を取得する方法です。それはcom.google.gwt.dom.client.Element
を拡張し、TableElement
も拡張します。すべてのキャストが完了したら、行とセルをthead
に追加できます。ここで
は(ChromeでGWT 2.7でテスト)の結果である:
まあ、私は本当にこのような方法をする必要はありませんが、それは、テーブルの基本的な構造だと、それは簡単なはずGWTでそれを行うこと。または私は間違っていますか? –
FlexTableを使用することは確かに不可能です。 あなたが本当に欲しいのは、DataGridまたはCellTableですか? – Knarf