クリックすると編集モードになる、を使用GWTしています。EditTextCellプログラムコードによってボックスを強制的に編集モードにする方法を知っている人はいますか?
ClickEventどういうわけかそのボックスに火をつける必要がありますか?または、これをどのように行うことができますか?
CellTableまたはDataGridに次のメソッドを追加できます。
public void focus(final int row, final int column) {
Scheduler.get().scheduleDeferred(new ScheduledCommand() {
@Override
public void execute() {
getRowElement(row).getCells().getItem(column).getFirstChildElement().getFirstChildElement().focus();
}
});
}
.focus(row, column)次に、特定のセルにフォーカスを設定する必要があるときに、簡単に呼び出すことができます。
または.getRowElement()...、直接呼び出すこともできますが、セルがフォーカスを受け入れる準備ができる前に、起動が早すぎないように、ScheduledCommandでラップすることをお勧めします。
次のように、セルでネイティブ クリック イベントを発生させることができることがわかりました。
NativeEvent nativeevent = Document.get().createClickEvent(1, 0, 0, 0, 0, false, false, false, false);
cell.getElement().dispatchEvent(nativeevent);
renderイベントを書き込んだり、またはclickHandlerを設定するために追加したりすることもできます。contentEditable=truefalse
private class CustomEditCell extends EditTextCell {
public void render(com.google.gwt.cell.client.Cell.Context context, String value, SafeHtmlBuilder sb) {
sb.appendHtmlConstant("<div contentEditable='true' unselectable='true' >"+value+"</div>");
}
}