簡體   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