jQuery MiniUI

标题: datagrid 怎么选中一行,其他的行自动就取消选中啦? [打印本页]

作者: zuzjx    时间: 2013-12-30 13:07:02     标题: datagrid 怎么选中一行,其他的行自动就取消选中啦?

是什么问题呢?需要修改什么属性?

作者: felt    时间: 2013-12-30 13:08:54

可以设置allowUnselect="true"

作者: zuzjx    时间: 2013-12-30 13:15:22

felt 发表于 2013-12-30 13:08
可以设置allowUnselect="true"

这个设置也有个问题,就是随便点一行。这行就改变了选中状态~~~
作者: factory    时间: 2013-12-30 13:16:57

zuzjx 发表于 2013-12-30 13:15
这个设置也有个问题,就是随便点一行。这行就改变了选中状态~~~

只能这样,因为现在checkbox和行点击都属于选中,唯一区别是行选中是单选。 所以会把多选给取消掉,只选中目前这一行
作者: zuzjx    时间: 2013-12-30 13:20:49

factory 发表于 2013-12-30 13:16
只能这样,因为现在checkbox和行点击都属于选中,唯一区别是行选中是单选。 所以会把多选给取消掉,只选 ...

能不能把行点击给去掉?
作者: felt    时间: 2013-12-30 14:14:57

zuzjx 发表于 2013-12-30 13:20
能不能把行点击给去掉?

你现在要的效果是只有点击checkcolumn的时候改变行的选中吗?
作者: zuzjx    时间: 2013-12-30 14:24:38

felt 发表于 2013-12-30 14:14
你现在要的效果是只有点击checkcolumn的时候改变行的选中吗?

恩,是的,并且行点击事件不要触发这个选中
作者: felt    时间: 2013-12-30 14:28:03

zuzjx 发表于 2013-12-30 14:24
恩,是的,并且行点击事件不要触发这个选中

设置allowcellselect="true" allowUnselect="true"
监听onbeforeselect事件
function onBeforeSelect(e){
     var cell=grid.getCurrentCell();
     var column=cell[1];
     if(column.field!="p1"){               //把checkcolumn那列设置个field,随便给个,例如p1
                 e.cancel=true
            }
}

作者: zuzjx    时间: 2013-12-30 14:37:43

felt 发表于 2013-12-30 14:28
设置allowcellselect="true" allowUnselect="true"
监听onbeforeselect事件
function onBeforeSelect(e){ ...

哦。明白。自己改行选中事件啊
作者: zuzjx    时间: 2013-12-30 16:24:34

测试了下,有bug,选中之后,点击该行其他列,会取消选中。没选中,点击其他列确实是没有选中第一列。但是前面的bug怎么改呢?
作者: zuzjx    时间: 2013-12-30 16:30:48

beforedeselect 用这个么。。。
作者: zuzjx    时间: 2013-12-30 16:32:37

还真是。。。这2个不能做一个方法么。。change。。。
作者: felt    时间: 2013-12-30 16:52:14

zuzjx 发表于 2013-12-30 16:32
还真是。。。这2个不能做一个方法么。。change。。。

分开控制比较自由




欢迎光临 jQuery MiniUI (http://miniui.com/discuss/) Powered by Discuz! X2