在今天的开发中有这么一个需求。datagrid点击开启编辑状态不能影响checkbox的状态,同时为了界面美观。去除选中的高亮。去除高亮百度的解决办法如下:
(1)修改easyui的css将高亮颜色跟背景颜色一样(简单,但是比较笨)
(2)在onClickCell事件里clearSelections一下,相当于不允许用户选中。
(3)在onSelect事件里unselectRow一下
(4)在renderRow中判断,当前行被选中,设置背景色跟表格背景一样
现在我们采用第3种方法。
datagrid的api中有介绍:
checkOnSelect | boolean | 如果为true,当用户点击行的时候该复选框就会被选中或取消选中。 如果为false,当用户仅在点击该复选框的时候才会呗选中或取消。 (该属性自1.3版开始可用) | true |
onSelect:function(rowIndex, rowData){ //用于解决点击某行不会高亮
$('#xxx').datagrid('unselectRow',rowIndex);
},
由于我们取消了勾选,getSelections已经没有效果了,要批量获取数据时我们只能通过var rows = $('#xxx').datagrid('getChecked');来获取当前勾选的数据了。