jquery-easyui的datagrid在checkbox多选时,行选中不正确应,去除高亮的解决方法

jquery-easyui的datagrid在checkbox多选时,行选中不正确应,去除高亮的解决方法

工作中用到一个具有多选功能的easyui-datagrid在处理cell的点击事件时,不同意被选中行的需求。

例如以下图,点击“查看”时,仅仅是为了查看具体信息,并非须要选择行。

jquery-easyui的datagrid在checkbox多选时,行选中不正确应,去除高亮的解决方法

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvaV9jaGVuamlhaHVp/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" style="width:887px; height:101px">

完毕这个需求,事实上仅仅须要将datagrid的checkOnSelect属性设置为false就能够了。

然而,当设置该属性后。新的问题就随之出现了。

jquery-easyui的datagrid在checkbox多选时,行选中不正确应,去除高亮的解决方法

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选中的行高亮显示,会继续补充。


上一篇:【C#】无损转换Image为Icon 【C#】组件发布:MessageTip,轻快型消息提示窗 【C#】给无窗口的进程发送消息 【手记】WebBrowser响应页面中的blank开新窗口及window.close关闭本窗体 【手记】调用Process.EnterDebugMode引发异常:并非所有引用的特权或组都分配给呼叫方 【C#】DataRowState演变备忘


下一篇:【算法之美】求解两个有序数组的中位数 — leetcode 4. Median of Two Sorted Arrays