クリックすると編集モードになる、を使用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=true
false
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>");
}
}