如何在 GXT 中的网格中的特定单元格中添加侦听器

How to add a listener in a particular cell in a grid in GXT

我想在单击仅用于类别的单元格时添加一个侦听器。

这是我的 columnConfig 的声明

ColumnConfig<UserRights, Boolean> unlockConfig = new ColumnConfig<UserRights, Boolean>(properties.hasUnlock(), 50);
            unlockConfig.setHeader("Unlock");
            cfgs.add(unlockConfig);

            ColumnConfig<UserRights, String> catConfig = new ColumnConfig<UserRights, String>(properties.categories(), 150);
            catConfig.setHeader("Categories");
            cfgs.add(catConfig);
cm = new ColumnModel<UserRights>(cfgs);

            grid = new Grid<UserRights>(store, cm);
            grid.getView().setAutoFill(true);
            grid.addStyleName("margin-10");
            grid.setLayoutData(new VerticalLayoutContainer.VerticalLayoutData(1, 1));
            grid.addRowClickHandler(new RowClickEvent.RowClickHandler() {

                @Override
                public void onRowClick(RowClickEvent event) {
                    index = event.getRowIndex();
                }
            });
rowEditing = new GridRowEditing<UserRights>(grid);
rowEditing.addEditor(unlockConfig, new CheckBox());

如何在类别栏中添加监听器? 提前致谢。

您的类别单元格中没有任何提示用户单击的内容,它只包含文本。您应该做的是使用 columnConfig.setCell(Cell cell) 方法指定包含交互式组件的单元格。

您仍然可以尝试以下方法:

columnConfig.setCell(new SimpleSafeHtmlCell<String>(SimpleSafeHtmlRenderer.getInstance(), "click") {
  @Override
  public void onBrowserEvent(Context context, Element parent, String value, NativeEvent event, ValueUpdater<String> valueUpdater) {
    super.onBrowserEvent(context, parent, value, event, valueUpdater);
    if (event.getType().equals("click")) {

    }
  }
});