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

时间:2015-02-17 06:23:44

标签: grid listener 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());

如何在类别列中添加侦听器? 提前谢谢。

1 个答案:

答案 0 :(得分:0)

您的类别单元格中没有任何内容提示用户单击,它只包含文本。您应该做的是使用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")) {

    }
  }
});