Gwt GXT3-可编辑网格:在弹出窗口中显示要编辑的行

Gwt GXT3-可编辑网格:在弹出窗口中显示要编辑的行,gwt,grid,gxt,Gwt,Grid,Gxt,GXT3-网格:添加带有按钮的列以修改可编辑网格中的行 在本例中,选中“线”后,该线将自动编辑。 我希望在单击弹出窗口中显示的编辑按钮时更改该行 TextButtonCell button = new TextButtonCell(); button.addSelectHandler(new SelectHandler() { @Override public void onSelect(SelectEvent event) { Context

GXT3-网格:添加带有按钮的列以修改可编辑网格中的行

在本例中,选中“线”后,该线将自动编辑。

我希望在单击弹出窗口中显示的编辑按钮时更改该行

TextButtonCell button = new TextButtonCell();
    button.addSelectHandler(new SelectHandler() {

      @Override
      public void onSelect(SelectEvent event) {
        Context c = event.getContext();

        Info.display("Event", "Call the popup here.");
      }
    });
    nameColumn.setCell(button);
你有办法得到这个吗


提前感谢您的帮助。

首先,您可以使用
TextBoxCell
创建一个列,您可能已经创建了该列。 然后您必须禁用网格的默认
onclick
可编辑行为

为此,根据Sencha示例的文件
RowEditingGridExample.java
,您可以覆盖
onClick
事件并防止触发默认代码

public class RowEditingGridExample extends AbstractGridEditingExample {

    @Override
    protected GridEditing<Plant> createGridEditing(Grid<Plant> editableGrid) {
        return new GridRowEditing<Plant>(editableGrid){

        @Override
        protected void onClick(ClickEvent event) {
            }
        };
    }

}

如果您想在单独的弹出窗口中显示行编辑器,您必须手动设计它。

如果您已经在使用
GridRowEditing
,它将在您单击的任何位置自动执行
startEditing
(按钮中除外,因为它可以处理单击)-我想询问者只想在你点击按钮时对其进行编辑…@ColinAlworth这就是为什么我会覆盖
onclick
事件并停止默认行为。好吧,很公平,但是为什么要构建所有这些,而不是像所要求的那样弹出一个窗口呢?如果我没有错的话,他问了一个关于
RowEditableGrid
的问题,只想在点击按钮时产生默认的编辑效果。如果“编辑”按钮打开一个弹出窗口,则无需单击RowEditableGrid。他必须创建一个对话框,创建一个面板和所有的东西。Thks Mayank Pandya,我怎么能创建一个弹出窗口并从按钮点击调用它?因为我不需要GridRowEditing,所以我更喜欢在弹出窗口中显示字段,并且在修改字段值时会更改当前行。
TextButtonCell button = new TextButtonCell();
button.addSelectHandler(new SelectHandler() {

  @Override
  public void onSelect(SelectEvent event) {
    Context c = event.getContext();

    //Here you can pass a new GridCell like with proper cell index and row index.

    GridCell cell = new GridCell(getRowIndex(), getCellIndex());
    editing.startEditng(cell);

  }
});
nameColumn.setCell(button);