如上图,当单击行的时候,datagrid会默认选中该行。
在easyui的api中,有两个参数:
1、checkOnSelect 如果为true,当用户点击行的时候该复选框就会被选中或取消选中。 如果为false,当用户仅在点击该复选框的时候才会呗选中或取消。
2、selectOnCheck 如果为true,单击复选框将永远选择行。 如果为false,选择行将不选中复选框。
根据说明可以知道,这两个参数对上面的需求没有用。于是网上有人找了一个靠谱的方法,为datagrid添加onclick事件:
onClickRow: function (rowIndex, rowData) {
$(this).datagrid('unselectRow', rowIndex);
},
这样做以后确实有效,但是新的问题出现。就是在选中这一行的复选框后,再次点击这一行 那么这个选择状态(颜色) 就会被取消。改进如下:
var selectIndex = -1;
onClickRow: function(index, data) {
if (index == selectIndex) {
//第一次单击选中,第二次单击取消选中
$(this).datagrid('unselectRow', index);
selectIndex = -1;
}else{
selectIndex = index;
}
},