HTMLテーブルには、このような方法はありません。getcellを(行、列)
Cell c = getCell(row,col);
は、行と列の与えられた、HTML/Flexの表のセルを得るための最も効果的な方法は何ですか?
HTMLテーブルには、このような方法はありません。getcellを(行、列)
Cell c = getCell(row,col);
は、行と列の与えられた、HTML/Flexの表のセルを得るための最も効果的な方法は何ですか?
HTMLTableは、次のメソッドがあります。
HTMLTable#isCellPresent(int row, int column)
HTMLTable#getWidget(int row, int column)
あなたはこのようにそれらの両方を使用してユーティリティメソッドを書くことができます:
public static Cell<?> getCell(HTMLTable table, int row, int column) {
if (table != null && table.isCellPresent(row, column)) {
Widget widget = table.getWidget(row, column);
if (widget instanceof Cell) {
return (Cell<?>) widget;
}
}
return null;
}
CellはウィジェットではなくTDへのインターフェイスなので、これは機能しません。例えばTextInputCellは、Cellの実装です。私のHTMLTableにウィジェットはありません。 –
例がありますか? HTMLTable.Cellを使用している場合、それは 'HTMLTable#getCellForEvent'のみを対象とし、' HTMLTable'の 'add(...)'ウィジェットのすべてが 'IsWidget'をパラメータとして取りますか? 'HTMLTable.Cell'を使用している場合は、コンストラクタを公開し、それをいくつかのキャストと組み合わせて(例えば' TableElement table = TableElement.as(htmlTable.getElement() ')、それを繰り返してセルを作り直す必要があります –
は何に依存しますあなたがしたい。
あなたは、セルの内容を読み出し/書き込みする場合は、セルの内容がウィジェットであれば、HTMLTable#setText(int,int)
とHTMLTable#getText(int,int)
、またはHTMLTable#setWidget(int,int)
とHTMLTable#getWidget(int,int)
を使用する場合があります。
/書き込みHtmlTable.CellFormatter
における細胞の特性(link to gwt javadoc)およびそのサブクラスを読むためのより多くの機能があります - あなたはHTMLTable#getCellFormatter()
を使用してそれを取得し、多分それをキャストすることができ、使用しているHTMLTable
の実装に依存します。スタイル、属性を設定/削除したり、さらに基底のElement
(link to gwt javadoc)を得ることができます。
私はCellに代わるものを求めていません。この議論を超えて、Cellを得る理由があります。 –
マウスオーバーイベントを登録するためのコードは次のとおりです。カーソルを置いたセルの値をツールチップに表示します。あなたは、クリックのリスナーを変更し、イベントのために同じstuff.Myコードを取得することができます:
Ext.QuickTips.init();
grid_plancode.on('mouseover', mouseOver);
function mouseOver(e, tar){
var t = e.getTarget();
var overCell = grid_plancode.getView().findCellIndex(t);
var overRow = grid_plancode.getView().findRowIndex(t);
var selectedText=grid_plancode.getView().getCell(overRow, overCell);
if(overCell !== false && overRow !== false) {
Ext.QuickTips.register({target:tar,title:'Value', text:selectedText. innerText });
}
が応答する前にいることを尋ねたが、決してよりよい遅くている必要があります:あなたは 'com.google.gwtについて話しています.user.client.ui.HTMLTable.Cell'' com.google.gwt.cell.client.Cell '? –
MarioP