0

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

In the example the line is editable automatically when line is selected. http://www.sencha.com/examples/#Exam...oweditablegrid

当我单击将出现在弹出窗口中的编辑按钮时,我希望更改该行。

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);

有办法得到这个吗?

在此先感谢您的帮助。

4

1 回答 1

0

首先,您必须创建一个列,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) {
            }
        };
    }

}

当您单击 textBoxCell 单击处理程序时,您可以开始手动编辑。

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);

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

于 2013-08-01T02:19:13.560 回答