在Easyui-datagrid嵌入下拉框(combobox)

本文介绍如何在EasyUI的datagrid组件中嵌入combobox,并实现单元格的编辑功能。通过设置单元格可编辑及使用onClickRow或onClickCell事件,可以实现在datagrid中动态加载combobox选项并为其赋值。
摘要由CSDN通过智能技术生成

Easyui中datagrid中嵌入combobox并赋值传值


显示组合框


- 官网这样说的

   要在datagrid里面做个带复选框的列表时,查阅了官网,发现了个编辑器,编辑器允许你用添加不用类型的东西,获取的方法是酱紫的:

官网描述


  • 获取编辑器之前

    在做到之前有个不能够忽略的前提:*设置单元行可编辑!! 3 血的教训啊喂= =

然后就是状态了,看你需要单击单元格还是单击一整行获取这个编辑器了有
onClickRow和onClickCell视情况自己选择。

            onClickRow: function (rowIndex, rowData) {
                $("#userFileList").datagrid('selectRow', rowIndex);
                $("#userFileList").datagrid('beginEdit', rowIndex);//设置可编辑状态
            }
  • 记得转换格式噢

    function unitFormatter(value, rowData, rowIndex) {
        if (value == 0) {
            return "";
        }
        for (var i = 0; i < jsonContent.length; i++) {
            if (jsonContent[i].value == value) {
                return jsonContent[i].text;
            }
        }
        return value;
    }

而在datagrid中添加editor代码如下,formatter是用于格式化显示单元格内容的,jsonContent是一串JSON字符串,不知道格式的自己Google去- -

{
                    field: 'isUpload',
                    title: '标题',
                    width: 40,
                    formatter: unitFormatter,
                    align: 'center',

                    editor: {
                        type: 'combobox',
                        options: {
                            data: jsonContent,
                            valueField: "value",
                            textField: "text",
                            editable: false
                        }
                    }
                }


  • 另一种方法Editors
    当然,你还可以采用另一种方式:getEditors,但是根据debug结果发现我页面的返回的是长度为1的数组,不知道算不算是个坑。

debug的结果

所以最后代码需要在后面加个[0]:

  onClickCell: function (rowIndex, field, value) {
       $("#userFileList").datagrid('selectRow', rowIndex);//选中这一行
       $("#userFileList").datagrid('beginEdit', rowIndex);//设置可编辑状态
       var ed = $('#userFileList').datagrid('getEditors', rowIndex)[0];
       $(ed.target).combobox('setValue', jsonContent[1].value); //设置默认显示的值
  }


  • 显示效果

最后结果有点丑哈哈哈,不过还是完成了目标:
结果

大功告成,这样我们就能完成了datagrid中下拉框的添加啦,不同类型类推就ok了。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值