ext获取grid选中行

 ext grid 中如何定义全选框?

    控制Extjs GridPanel行选择模型的两个配置项是selTypeselModel。默认情况下,selTyperowmodel,对应的Ext.selection.Model。这种选择模型不会在grid中添加复选框,它通过点击行进行选中,默认为多选“MULTI”

如果我们要使用复选框来选择行,我们需要使用下面的配置:

selType: "checkboxmodel",

然后,我们可以通过selModel来配置selType

selModel: {
    injectCheckbox: 0,
    mode: "SIMPLE",     //"SINGLE"/"SIMPLE"/"MULTI"
    checkOnly: true     //只能通过checkbox选择
},

Extjs GridPanel行选择

除了界面操作来选中行,我们还可以通过代码来选中行:

//选择行,并保持其他行的选择状态
grid.getSelectionModel().select(records, true);
//选择所有
grid.getSelectionModel().selectAll();
//根据row index选择
grid.getSelectionModel().selectRange(startRow, endRow, true)

Extjs GridPanel获取选中行

获取选中行,仍然需要通过SelectionModel来完成:

var records = grid.getSelectionModel().getSelection();

 

ext grid 中如何确定选中行?如何获取选中行数据?

其实很简单,用到了Ext.getCmp('id'),他可以获取到指定id的对象。

grid 获取行对象:

var row = Ext.getCmp("GridID").getSelectionModel().getSelections();

row对象就是grid所有选中行的对象集合。

var rows = Ext.getCmp("customerGridId").getSelectionModel().getSelection();
if(rows.length == 0) {  
         Ext.Msg.alert("提示信息", "您没有选中行!"); 
}else{
    var itcIds = [];
     for(var i=0;i<rows.length;i++){
            itcIds.push(rows[i].data.customerCode);
      }
      alert(itcIds);
      //业务逻辑
 }

你可能感兴趣的:(ext获取grid选中行)