繁体   English   中英

如何在GWT中的celltable的子路径上添加clickHandler

[英]how to add a clickHandler on a subRow of celltable in GWT

我正在使用GWT展示示例中的自定义数据网格.. http://gwt.googleusercontent.com/samples/Showcase/Showcase.html#!CwCustomDataGrid

每件事都工作得很好..我在单元格表中的行内有子行。

我有锚单元..它们在主行和子行中。

主行的ClickHandler正在运行但不在子行中。

这是我对该单元格的代码

// ViewDetail.
td = row.startTD();
td.className(cellStyles);
td.style().trustedColor("blue");
td.style().cursor(Cursor.POINTER);

if (isNetworkRow) {
  //td.text("subRowsAnchor");
} else {

}
renderCell(td, createContext(19), viewDetailsColumn, rowValue);

我在两种情况下渲染单元格,无论是行还是子行,所以我可以看到锚点,它的clickHandler也可以工作。

有什么方法可以区分哪个锚被点击,主行或子行。

我只是想做一个小工作。 即改变锚文本的名称,如果它是一个子行..因为你可以在我的代码中... td.text ..

但然后在renderCell上得到错误...

添加HTML或添加子元素后,无法添加属性。

任何想法,什么可以解决......

谢谢

要区分单击哪一行(根据展示样本,但通常应该相同),只需依赖于选择了哪一行(假设您没有覆盖/禁用选择处理)。

FieldUpdater设置为列(使用锚单元渲染自身)并使用getKeyboardSelectedSubRow()检查子行选择。 就像是:

yourColumn.setFieldUpdater(new FieldUpdater<T, String>() {
  public void update(int index, T object, String value) {
    if (yourGrid.getKeyboardSelectedRow() != -1 ) {
      if (yourGrid.getKeyboardSelectedSubRow() > 0) {
        // Subrow selected.
      } else {
        // Main row selected.
      }
    }
  }
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM