jQuery MiniUI

标题: mini网格控件编辑状态下,有双击事件吗? [打印本页]

作者: yahuadai    时间: 2019-11-18 16:14:41     标题: mini网格控件编辑状态下,有双击事件吗?

你好,网格控件编辑状态下,有双击事件吗?
只读的情况下,是有行双击事件。
如果没有,我应该怎样实现?比如我获得网格是否有监听行双击事件rowdblclick,然后在各个单元格上的控件实现双击触发?



作者: yahuadai    时间: 2019-11-18 16:23:40

在线等呀,有技术在吗?
作者: dforce    时间: 2019-11-18 17:08:42

grid.on("celldblclick",function(e){
     e.field
     e.record
    //表格双击事件,可以根据行和列来判断所点击的单元格,来进行差异化处理
})
但是编辑状态下的,如果需要双击事件,只能在每个编辑器上处理了,这不是表格层面的处理了
作者: yahuadai    时间: 2019-11-18 17:18:09

dforce 发表于 2019-11-18 17:08
grid.on("celldblclick",function(e){
     e.field
     e.record

这个事件在文档上面没有哟
作者: yahuadai    时间: 2019-11-18 17:29:59

dforce 发表于 2019-11-18 17:08
grid.on("celldblclick",function(e){
     e.field
     e.record

每个编辑器上处理,采用什么事件绑定?
作者: dforce    时间: 2019-11-19 09:21:56

yahuadai 发表于 2019-11-18 17:29
每个编辑器上处理,采用什么事件绑定?

$(document.body).on("dblclick",".mini-textbox-input,.mini-buttonedit-input",function(e){
           alert(1);
        })
作者: yahuadai    时间: 2019-11-19 09:58:16

dforce 发表于 2019-11-19 09:21
$(document.body).on("dblclick",".mini-textbox-input,.mini-buttonedit-input",function(e){
          ...

这个不合理,这个是所有的这个样式控件事件。
我要的是某个网格里面的事件。比如,我界面有很多个网格的,可能只有一个网格编辑控件才双击事件。

作者: yahuadai    时间: 2019-11-19 10:34:17

dforce 发表于 2019-11-19 09:21
$(document.body).on("dblclick",".mini-textbox-input,.mini-buttonedit-input",function(e){
          ...

$(document.body).on("dblclick",".mini-textbox-input,.mini-buttonedit-input",function(e){
           alert(1);
        })

在这里的监听的样式,是否能添加网格的ID?这样才能精准的监听某网格的编辑器的事件。
这个代码是监听所有这个样式的。
希望改进。
因为我们的编辑网格有双击事件弹出选择窗体的。
作者: dforce    时间: 2019-11-19 11:07:37

yahuadai 发表于 2019-11-19 10:34
$(document.body).on("dblclick",".mini-textbox-input,.mini-buttonedit-input",function(e){
          ...

那就只能一列列来绑定了
var editor = grid.getCellEditor(columnName/column);
  $(editor.el).on("dblclick", function (e) {
           ....
})

我们表格有双击事件,编辑器并没有

作者: yahuadai    时间: 2019-11-19 14:20:19

dforce 发表于 2019-11-19 11:07
那就只能一列列来绑定了
var editor = grid.getCellEditor(columnName/column);
  $(editor.el).on("dblc ...

好的,这个可以使用。
WebGrid.initEditCelldblclick=function(){
                //当网格是编辑,还需要采用双击事件
                if(WebGrid.allowedit == "True"){
                        var cols = WebGrid.Cols();
                        for(var i=1,max = cols.length;i<max;i++){
                                var col = cols;
                                if(col.readOnly == false && col.visible == true){
                                        var editor = WebGrid.getCellEditor(col);
                                        if(editor != undefined && editor != null && editor.el != undefined && editor.el != null){
                                                $(editor.el).attr('gridid',WebGrid.id);
                                                $(editor.el).on("dblclick", function (e) {
                                                        var gridId = $(this).attr('gridid');
                                                        var myGrid = my.getCtrlObjById(gridId);
                                                        var record = myGrid.getSelected();
                                                        var gridClickFunc = gridId + "_ondbbefore";
                                                        try {
                                                                        if(isFunction(gridClickFunc)) {
                                                                                var rtnFunValue = eval(gridClickFunc + "(record)");
                                                                                if(rtnFunValue == false)
                                                                                        return;
                                                                        }
                                                        } catch(ex) {return;}
                                                });
                                        }
                                       
                                }
                        }
                }
        };
作者: yahuadai    时间: 2019-11-19 14:52:26

yahuadai 发表于 2019-11-19 14:20
好的,这个可以使用。
WebGrid.initEditCelldblclick=function(){
                //当网格是编辑,还需要采用双击事件 ...

经过测试,如果添加以上的代码后,当加载数据后,这个代码会失效的。并且那个mini-buttonedit-input这个编辑器,点右边按扭失效。暂时无解了。,并且双击也无效了。在不加载数据,新增行的时候双击是有效的。




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