easyui datagrid动态修改editor为combobox的options

最近有个需求就是当你打开datagrid的编辑状态时,要根据行数据的不同对应的combobox的下拉选项也不同。同时为了美观,打开编辑状态的时候combobox为我默认选择数据。我的实现思路是,原有的editor的data不动,重写onBeginEdit方法,在里面获取到要修改的editor,判断rowData的值,当需要修改时再进行操作。废话不多说,具体代码贴上:

onBeginEdit:function(index, rowData){
            //统计方法下拉框
            var smEditor = $('#FoTable').datagrid('getEditor', {
                      index : index,  
                       field : 'statisticMethod'  
            });
            $(smEditor.target).combobox({
                onLoadSuccess: function () {
                     $(smEditor.target).combobox('setValue', rowData.statisticMethod);
                },
                onShowPanel: function(){   //下拉展开时动态修改options
                    //datatype处理统计方法
                    if(rowData.dataType == 'string' || rowData.dataType == 'date'){
                        var data = [];
                        data.push({'key':'','value':'请选择'},
                                {'key':'count','value':'计数'},
                                {'key':'min','value':'最小'},
                                {'key':'max','value':'最大'},
                                {'key':'mode','value':'众数'});
                        $(smEditor.target).combobox("loadData", data);
                    }
                    //设置值                            
                    $(smEditor.target).combobox('setValue', rowData.statisticMethod);                
                }
            });
            //分组排序下拉框
            var goEditor = $('#FoTable').datagrid('getEditor', {
                      index : index,  
                       field : 'groupOrder'  
            });
            $(goEditor.target).combobox({
                onLoadSuccess: function () {
                     $(goEditor.target).combobox('setValue', rowData.groupOrder);
                },
                onShowPanel: function(){   //下拉展开时动态修改options
                    //datatype处理统计方法
                    if(rowData.groupOrder == 0){
                        var data = [];
                        data.push({'key':'0','value':'无'},
                                {'key':'1','value':'升序'},
                                {'key':'-1','value':'降序'});
                        $(goEditor.target).combobox("loadData", data);
                    }
                    //设置值                            
                    $(goEditor.target).combobox('setValue', rowData.groupOrder);                    
                }
            });
        }



  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值