在对一些特殊数据,我们总是要做一些防范手段。
在jqgrid中添加了多选属性后,默认是每一行都能自由选择。有时候,一些数据不满足某些情况是不让选中处理的。
怎么实现?
直接上代码:
onSelectAll:function(rowid, status) { //点击全选时触发事件
var rowIds = jQuery("#testGrid").jqGrid('getDataIDs');//获取jqgrid中所有数据行的id
for(var k=0; k<rowIds.length; k++) {
var curRowData = jQuery("#testGrid").jqGrid('getRowData', rowIds[k]);//获取指定id所在行的所有数据.
//if(**)
// $("#updatelistGrid").jqGrid("setSelection", rowIds[k],false);设置改行不能被选中。
}
}
onSelectRow:function(id)//选择某行时触发事件
{
var curRowData = jQuery("#testGrid").jqGrid('getRowData', id);
//if()
$("#updatelistGrid").jqGrid("setSelection", id,false);
}
只需要将这两个函数加入jqgrid初始化选项中就可以了。
另外使用:
var addData = jQuery('#testGrid').jqGrid('getGridParam', 'selarrrow');//可以获取到选中的行数组。
var test= jQuery("#testGrid").getCell(addData[i], "test001");//获取选中行test001列的数据。