我正在使用GXt GWt并尝试从树形网格中的选定行中获取值,但似乎无法使其正常工作..
E.g。如果用户单击行,我希望能够获取该行中所有列的值。
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:null 在com.rory.mep.ui.metrics.client.UserInterface $ 3.handleEvent(UserInterface.java:109) at com.extjs.gxt.ui.client.event.BaseObservable.callListener(BaseObservable.java:178) at 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)
非常感谢任何帮助。
答案 0 :(得分:0)
使用它们时,请务必阅读Javadocs以了解事件。来自Grid的文档:
RowClick:GridEvent(grid,rowIndex,cellIndex,event)
点击一行后触发。
- grid:this
- rowIndex:行索引
- cellIndex:cell index
- index:单元格索引
- 事件:dom事件
该模型不可用,因此getModel()返回null。相反,将rowIndex与商店一起使用以获取模型。