jQuery MiniUI

标题: datagrid的hiderowdetail事件 [打印本页]

作者: x-strong    时间: 2014-11-5 10:02:33     标题: datagrid的hiderowdetail事件

请问3.5版本的datagrid支持取消折叠行明细的操作吗?
  1. demogrid.on('hiderowdetail', function(e){
  2.     console.log(e);
  3.     e.cancel = false;//无效,不能取消折叠
  4. });
复制代码



作者: dforce    时间: 2014-11-5 11:27:28

请监听onbeforehiderowdetail
作者: x-strong    时间: 2014-11-5 14:20:57

dforce 发表于 2014-11-5 11:27
请监听onbeforehiderowdetail

问题解决!
作者: x-strong    时间: 2014-11-5 14:32:11

dforce 发表于 2014-11-5 11:27
请监听onbeforehiderowdetail

还有新问题,监听“onBeforeHideRowDetail”事件只能够阻拦当前行的隐藏行为,如果点击“+”按钮展开其它行明细的话,会导致当前行明细隐藏而且不触发当前行的“onBeforeHideRowDetail”事件,这种情况怎么办?
作者: dforce    时间: 2014-11-5 15:14:33

x-strong 发表于 2014-11-5 14:32
还有新问题,监听“onBeforeHideRowDetail”事件只能够阻拦当前行的隐藏行为,如果点击“+”按钮展开其它 ...

设置autoHideRowDetail="false"
不过需要你详细行都是不同的元素,我们示例都是同一个详细元素的操作
作者: x-strong    时间: 2014-11-5 15:21:00

dforce 发表于 2014-11-5 15:14
设置autoHideRowDetail="false"
不过需要你详细行都是不同的元素,我们示例都是同一个详细元素的操作 ...

每个行明细都用不同的子datagrid这种方案很不好,难道没有办法通过事件的监听来拦截和取消吗?
作者: dforce    时间: 2014-11-5 15:59:59

x-strong 发表于 2014-11-5 15:21
每个行明细都用不同的子datagrid这种方案很不好,难道没有办法通过事件的监听来拦截和取消吗? ...

你不让关闭是不是要同时展示几个详细行?

作者: x-strong    时间: 2014-11-5 16:13:28

dforce 发表于 2014-11-5 15:59
你不让关闭是不是要同时展示几个详细行?

不是,是为了防止误操作点击了其它行的“+”按钮导致当前行明细中的未保存数据丢失,请看图:

[attach]5423[/attach]



作者: dforce    时间: 2014-11-5 16:16:07

x-strong 发表于 2014-11-5 16:13
不是,是为了防止误操作点击了其它行的“+”按钮导致当前行明细中的未保存数据丢失,请看图:

...

那你监听onbeforeshowrowdetail啊
如果不让打开用e.cancel=true也是阻止
作者: x-strong    时间: 2014-11-5 16:28:07

dforce 发表于 2014-11-5 16:16
那你监听onbeforeshowrowdetail啊
如果不让打开用e.cancel=true也是阻止

监听了啊,你看上面的回复嘛,没用的。
作者: dforce    时间: 2014-11-5 16:29:48

x-strong 发表于 2014-11-5 16:28
监听了啊,你看上面的回复嘛,没用的。

一个是hide,一个是show
对应处理收起和展开
作者: x-strong    时间: 2014-11-5 16:34:20

dforce 发表于 2014-11-5 16:29
一个是hide,一个是show
对应处理收起和展开

我知道,请版主你自己试试看就知道了,监听“onBeforeHideRowDetail”事件,当展开其它行明细时,此事件是不被触发的,触发的是“onHideRowDetail”事件,而“hideRowDetail”事件触发时当前行明细已经隐藏了,且“hideRowDetail”事件是无法取消的,即在“hideRowDetail”事件对象(e)中不支持e.cancel=true。
作者: dforce    时间: 2014-11-5 16:51:50

x-strong 发表于 2014-11-5 16:34
我知道,请版主你自己试试看就知道了,监听“onBeforeHideRowDetail”事件,当展开其它行明细时,此事件 ...

[attach]5424[/attach]
看例子,你表单修改一下看看


作者: x-strong    时间: 2014-11-5 17:30:13

dforce 发表于 2014-11-5 16:51
看例子,你表单修改一下看看

OK了,用“onBeforeShowRowDetail”可以阻止了。




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