我有一个网格,有两列Name, Age
。此网格中有几行(如20-30条记录)。现在,当我点击一行时,我需要获取Person的名称并将其显示在Label上。
我想,如果我使用getRowClass: function(record, rowIndex, rowParams, store)
,我可以获得所选行值的详细信息。但是,这不起作用。有人能帮我吗 ?
xtype: 'gridpanel',
height: 500,
width: 800,
title: 'Person Grid',
store: 'Person',
viewConfig: {
getRowClass: function(record, rowIndex, rowParams, store) {
console.log("Print the selected row data and set to label");
console.log(record);
console.log(rowIndex);
console.log(rowParams);
}
},
columns: [ .....
答案 0 :(得分:0)
您在这里所做的实际上是改变了渲染这些细胞的方式。因此,在渲染网格时,每行都会调用getRowClass
一次。
您需要收听网格selectionchange
并在那里获取所选行。
答案 1 :(得分:0)
如果我了解你可以使用它:
yourGrid.getSelectionModel().on('selectionchange', function(grid, model, object) {
var model = model[0].data;
yourPanel.getForm().findField('fieldName').setValue(model.name);
});
yourPanel
是包含该字段的面板,并假设该字段位于表单中。