Grid中的行选择无效

时间:2012-07-26 19:32:51

标签: extjs extjs4 extjs4.1

我有一个网格,有两列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: [ .....

2 个答案:

答案 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是包含该字段的面板,并假设该字段位于表单中。