easyUI datagarid 编辑状态下的combobox动态赋值

简介: easyUI datagarid 编辑状态下的combobox动态赋值
 nonNetStorage.drugVarGrid0 = $('#medicalGrid0').datagrid({
        url : '',
        idField : 'categoryid',
        fitColumns :true,
        rownumbers:true,
        nowrap:false,
        checkOnSelect : false,
        rowStyler:function(index,row) {
            return 'background-color:#fff;color:black';
        },
        height : document.body.clientHeight-223,
        columns:[[
            {field:'drugName',title:'名称',width:'20%'},
            {field:'manufactorId',title:'生产厂商id',width:'20%',hidden:true,
                editor : {type : 'textbox', options:{}},
            },
            {
                field : 'manufacturerName',
                title : '生产厂商名称',
                width : '20%',
                editor:{
                    type:'combobox',
                    width:'80px',
                    options:{
                        valueField: 'manufactorName',
                        textField: 'manufactorName',
                        editable : false,
                        panelHeight : '81',
                        required:true,
                        onSelect:function(record) {
                            //根据选择哪个,然后将id设置到 manufactorId 列里面。
                            var ed = nonNetStorage.drugVarGrid0.datagrid('getEditor', {index:editIndex,field:'manufactorId'});
                            $(ed.target).textbox('setValue',record.manufactorId);
                        }
                    }
                }
            }
        ]],
        onClickCell : function(index,field,value) {
            // 点击一行,动态获取下拉框值,然后将数据塞入下拉框
            onClickRow(index,nonNetStorage.drugVarGrid0);
        }
    });
    // 这里跟你说个点,下拉框最好用两个编辑列,一个隐藏,
    // 一个用来显示下拉字段。如上两个列:
    // 生产厂商id
    // 生产厂商名称
    // 之所以这么做,是因为你在点击保存的时候,下拉框里面的汉字保存过程会变成id
    // 所以显得不好看。
    function onClickRow(index,datagrid){
        //这里代码就是重点,网格加载好一行一行数据以后,当你点击某一行
        //他就传进editIndex 
        if (editIndex != index){
            if (endEditing(datagrid)){
                    //判断上一行是否把必填填写完毕。
                datagrid.datagrid('selectRow', index).datagrid('beginEdit', index);
                //生产企业要根据id获取对应生产企业
                var rowDatas = datagrid.datagrid('getRows');  //获取网格全部数据
                var ed = datagrid.datagrid('getEditor', {index:index,field:'manufacturerName'});
                //加上面if判断,结果回来的时候,看不到原先的值,所以只能点击一次请求一次后台
                $.post("drugVarietyInfoAction/queryDrugManufactor?categoryid=" + rowDatas[index].categoryid, [], 
                            function(data) {
                    $(ed.target).combobox('loadData',data);
                }, 'json');
                editIndex = index;
            } else {
                    //上一行必填没填写完,强制让其填写。
                datagrid.datagrid('selectRow', editIndex);
            }
        }
}
相关文章
|
3月前
Easyui datagrid 编辑结束时combobox显示value而不显示text
Easyui datagrid 编辑结束时combobox显示value而不显示text
|
3月前
EasyUI的combobox
EasyUI的combobox
|
3月前
easyUI 动态参数名称和动态参数值
easyUI 动态参数名称和动态参数值
|
3月前
|
JSON 数据格式
easyUI 的combobox如何获取除valueField和textField外的三个值
easyUI 的combobox如何获取除valueField和textField外的三个值
|
4月前
|
前端开发 容器
04EasyUI 应用- 创建展开行明细编辑表单的 CRUD 应用
04EasyUI 应用- 创建展开行明细编辑表单的 CRUD 应用
22 0
|
10月前
|
存储 关系型数据库 MySQL
Easyui datagrid combobox输入框下拉(取消)选值和编辑已选值处理
Easyui datagrid combobox输入框下拉(取消)选值和编辑已选值处理
332 0
|
10月前
|
存储 JSON JavaScript
Easyui datagrid combobox输入框非法输入判断与事件总结
Easyui datagrid combobox输入框非法输入判断与事件总结
136 0
|
JSON JavaScript Java
EasyUI之生成动态异步菜单栏
在项目开发中,对于整体的页面布局中对于菜单导航栏我们一般设计为根据不同的用户权限展示不同的菜单选项,同时菜单显示也会做异步加载处理。本文就来介绍下基于EasyUI的tree插件来实现导航栏的异步加载实现。
EasyUI之生成动态异步菜单栏
EasyUI combobox选中项变化事件存在的问题
本文目录 1. 背景 2. 写法 3. 实际存在的问题
347 0
|
前端开发
EasyUI+JavaWeb奖助学金管理系统[14]-机构新增、编辑、删除的实现
本文目录 1. 本章任务 2. 新增功能的实现 2.1 添加新增弹窗 2.2 页面初始化时加载上级机构列表 2.3 后端提供获取机构列表方法 2.4 点击保存后将内容提交 2.5 后端处理新增保存请求 2.6 测试 3. 编辑功能的实现 4. 删除功能的实现 5. 总结
134 0
EasyUI+JavaWeb奖助学金管理系统[14]-机构新增、编辑、删除的实现