1

我正在使用 GXt GWt 并试图从树网格中的选定行中获取值,但似乎无法使其正常工作..

例如,如果用户单击行,我希望能够获取该行中所有列的值。

cm = new ColumnModel(createColumnConfig());

// Create grids based on data (held in stores), and attach listeners for when a row is clicked 
final TreeGrid<Build> nightlyResultsGrid = createTreeGrid(nightlyResultsStore);

nightlyResultsGrid.addListener(Events.RowClick, new Listener<BaseEvent>()
{
    public void handleEvent(BaseEvent clickEvent)
    {
        GridEvent gridEvent = (GridEvent)clickEvent;

        gridEvent.getModel().get("Platform").toString();
        gridEvent.getModel().get("Date").toString();
        gridEvent.getModel().get("Build").toString();
    }
}

上面的代码不断产生异常..

15:58:09.861 [错误] [仪表板] 未捕获的异常已转义 java.lang.NullPointerException:在 com.rory.mep.ui.metrics.client.UserInterface$3.handleEvent(UserInterface.java:109) 在 com.extjs 处为空。 gxt.ui.client.event.BaseObservable.callListener(BaseObservable.java:178) 在 com.extjs.gxt.ui.client.event.BaseObservable.fireEvent(BaseObservable.java:86) 在 com.extjs.gxt.ui。 client.widget.Component.fireEvent(Component.java:456) 在 com.extjs.gxt.ui.client.widget.grid.Grid.onClick(Grid.java:811) 在 com.extjs.gxt.ui.client。 widget.treegrid.TreeGrid.onClick(TreeGrid.java:745)

任何帮助深表感谢。

4

1 回答 1

0

使用事件时请务必阅读 Javadocs。来自 Grid 的文档:

RowClick : GridEvent(grid, rowIndex, cellIndex, event)

单击一行后触发。

  • 网格:这个
  • rowIndex : 行索引
  • cellIndex : 单元格索引
  • index : 单元格索引
  • 事件:dom事件

该模型不可用,因此 getModel() 返回 null。相反,使用带有存储的 rowIndex 来获取模型。

于 2011-11-01T17:45:16.290 回答