function newWin() {            var selModel = Ext.create('Ext.selection.CheckboxModel', {
                listeners: {
                    selectionchange: function (sm, selections) {
                        grid4.down('#removeButton').setDisabled(selections.length == 0);
                    }
                }
            });
            var listGrid = new Ext.grid.GridPanel({
                    id: 'IICAgrid',
                    width: 650,
                    height: 100,
                    store: getLocalStore(),
                    xtype: "gridpanel",
                    selModel: sm,
                    columnLines: true,
                    columns: [
                    { text: '档案编号', dataIndex: "FileNo" },
                    { text: '姓名', dataIndex: "Name" },
                    { text: '性别', dataIndex: "Sex" },
                    { text: '出生日期', dataIndex: "Brithday" },
                    { text: '身份证号', dataIndex: "Cardid" },
                    { text: '与户主关系', dataIndex: "Household" }
                    ]
            })
            var win = Ext.create('Ext.window.Window', {
                title: '从农合信息导入',
                width: 650,
                height: 300,
                plain: true,
                closeAction: 'hide', // 关闭窗口
                modal: true,
                maximizable: false, // 最大化控制 值为true时可以最大化窗体
                layout: 'border',
                contentEl: 'tab',
                items: listGrid,
                listeners: {
                    selectionchange: function (sm, selections) {
                        //                        var sel = selections;
                        //                        var flieNo = selections[0].data['FileNo'].toString();
                                                alert("111");
                        //                        pubFileNo = flieNo;
                    }
                }
            });
                win.show();
        }为什么我这监听不上grid中的选择行,还有没有别的获取GRID行的方法,求代码(刚接触EXT)

解决方案 »

  1.   

    你这里好像有问题
    listeners: {
       selectionchange: function (sm, selections) {
       // var sel = selections;
       // var flieNo = selections[0].data['FileNo'].toString();
       alert("111");
       // pubFileNo = flieNo;
       }
    应该是添加在GridPanel里面,而不是在Window里面。。应该是你写错了。改为在grid里面添加监听试试
      

  2.   

    几个问题,第一你的 var selModel = Ext.create('Ext.selection.CheckboxModel', {下面使用的时候
    selModel: sm,第二,如楼上所说 selectionchange 是gridpanel的监听事件,并不是window的,还可以再 selModel 里监听,详细请参考api文档其余还有些编码的问题,楼主自己仔细点了,多找找api文档以及官方提供的样例程序