FineUI 官方论坛
标题:
【已确认】Grid表格行选择事件Bug
[打印本页]
作者:
hcp
时间:
2017-7-3 17:55
标题:
【已确认】Grid表格行选择事件Bug
F.ready(function () {
F('<%=gridUsers.ClientID%>').on('rowselect', function (e, rowId) {
//选中行事件
});
F('<%=gridUsers.ClientID%>').on('rowdeselect', function (e, rowId) {
//取消行选事件
});
});
复制代码
以上代码附加的rowselect和rowdeslect事件,在点击表格左上角全选或取消全选时,只有最后一行数据会触发事件。即全选或取消全选时,无论表格里有多少行数据,这两个事件都只触发一次,rowId参数值为最后一行的rowId。
FineUI版本号为 3.6.0.1
作者:
sanshi
时间:
2017-7-3 18:51
这个不算是BUG,就这这么设计的。如果一次选中多行,触发 rowselect 事件时,只传入之后一行的rowId,如果你需要获取当前选中行,可以用表格的方法获取
作者:
hcp
时间:
2017-7-4 08:08
sanshi 发表于 2017-7-3 18:51
这个不算是BUG,就这这么设计的。如果一次选中多行,触发 rowselect 事件时,只传入之后一行的rowId,如果 ...
您觉得这样解释合理吗?很奇葩啊,要么都不触发,要么都触发,只触发一条是个什么意思???
作者:
hcp
时间:
2017-7-4 08:11
还有就是所有的change事件里无法获知用户选择做了哪些改变,就是没法获取用户改变选择之前的选择项。
作者:
sanshi
时间:
2017-7-4 14:56
之前的 rowselect 事件,多次选中也只会触发一次。为了不引起歧义,我们决定下个版本调整如下(v3.7.0):
+表格多选时会多次触发rowselect事件(SHIFT按键,表头全选框)(不兼容提醒)。
复制代码
当然这个改动也和开源版保持一致。
对于这样一个表格:
[attach]10341[/attach]
操作:
1. 点击全选框,然后再次点击全选框,此时触发的事件列表:
[54:42] 选中行:frow0
[54:42] 选中行:frow1
[54:42] 选中行:frow2
[54:42] 选中行:frow3
[54:42] 选中行:frow4
[54:42] 选中行:frow5
[54:42] 选中行:frow6
[54:42] 选中行:frow7
[54:42] 选中行:frow8
[54:42] 选中行:frow9
[54:42] 选中行:frow10
[54:42] 选中行:frow11
[54:47] 取消选中行:frow0
[54:47] 取消选中行:frow1
[54:47] 取消选中行:frow2
[54:47] 取消选中行:frow3
[54:47] 取消选中行:frow4
[54:47] 取消选中行:frow5
[54:47] 取消选中行:frow6
[54:47] 取消选中行:frow7
[54:47] 取消选中行:frow8
[54:47] 取消选中行:frow9
[54:47] 取消选中行:frow10
[54:47] 取消选中行:frow11
复制代码
2. 选点击【陈飞】,然后按下SHIFT点击【刘国】,再点击【张三石】,此时触发的事件列表:
[56:50] 选中行:frow1
[56:51] 选中行:frow2
[56:51] 选中行:frow3
[57:4] 取消选中行:frow1
[57:4] 取消选中行:frow2
[57:4] 取消选中行:frow3
[57:4] 选中行:frow11
复制代码
欢迎光临 FineUI 官方论坛 (https://fineui.com/BBS/)
Powered by Discuz! X3.4