工作中用到一个具有多选功能的easyui-datagrid在处理cell的点击事件时,不同意被选中行的需求。
例如以下图,点击“查看”时,仅仅是为了查看具体信息,并非须要选择行。
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvaV9jaGVuamlhaHVp/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" style="width:887px; height:101px">
完毕这个需求,事实上仅仅须要将datagrid的checkOnSelect属性设置为false就能够了。
然而,当设置该属性后。新的问题就随之出现了。
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvaV9jaGVuamlhaHVp/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" style="width:881px; height:100px">
眼下的办法是使用下面代码去除高亮: (本来是打算处理成checkbox选中的行高亮显示,奈何刚開始使用easyui功力不够)
onSelect:function(rowIndex, rowData){
$('#datagrid2').datagrid('unselectRow',rowIndex);
},
onCheckAll:function(rows){
$('#datagrid2').datagrid('unselectAll');
}
使用以上代码之后,要获取到checkbox选中的所以行数据。则使用下面代码:
var checkedItems = $('#datagrid2').datagrid('getChecked');
開始上面这行代码一直仅仅返回一行数据,后来细致再看了下。这行代码使用也是有前提的。就是必须指定idField。
若以后想到办法做到checkbox选中的行高亮显示,会继续补充。