关于Extjs Grid的选择问题

1.【可选择行的Grid】 

selModel: {
                selType: 'checkboxmodel'
            },

这样就会成为可选择的grid

【问题】:selModel与selType是什么关系?直接selModel: 'checkboxmodel'行不行?

2.【获取选中的行】

 var grid = btn.up('test_test02Grid');
 var rows = grid.getSelectionModel().getSelection();

但是注意这里的rows[0]指的是第一个选中的行,而不是选中行的最上面一行。

   var minIndex = grid.getStore().indexOf(rows[0]);
            //            var minIndex = 0;
            for (var i = 0; i < rows.length; i++) {
                var ind = grid.getStore().indexOf(rows[i]);
                alert(ind);
                minIndex = ind < minIndex ? ind : minIndex;
            }

可以这样获得最上面一行的序号。

然后这样取得store里面的record

  Ext.create('TMS.Test.Test02Window', {
                record: grid.getStore().data.getAt(minIndex),
                rowIndex: minIndex,
                edit: true,
                grid: grid,
                title: 'EditWindow'
            }).show();

当然环境只是少量数据不用翻页。

【单选模式】

    selModel: {
        //selType: 'checkboxmodel',
        singleSelect: true
    },

或者:

    selModel: {
        mode:'SINGLE'      //或者’MULTI‘,’SIMPLE‘
    },

【其他资源】

(1)grid.getStore().getRange(0,store.getCount());//得到grid所有的行 
(2)grid.getSelectionModel().getSelections()//得到选择所有行 
(3)grid.selModel.selections.items;//得到选择所有行 
(4)grid.getSelectionModel().getSelected();//得到选择行的第一行 

详情:http://snash.iteye.com/blog/487764

posted @ 2014-04-03 15:15  大漠孤烟~  阅读(2117)  评论(0编辑  收藏  举报