Easy UI datagrid 将单元格变成下拉框

AJAX从后台传数据,解决下拉框数值只显示Value不显示Text

  function hasChanges() {
            //gridUPPEquiStartStopLGPop为可编辑表格的id
            changeRows = $.getGridChangesRows('gridUPPEquiStartStopLGPop');
            return changeRows.hasChanges;
        }
        function saveChanges() {
            //直接调用可编辑表格中保存事件的方法
            savePTMatattributeInitLine();
        }
        var editIndex = undefined;

        function initDataGridUPPEquiStartStopLGPop() {
            var DATES = $('#DATES').datebox('getValue'); //开始时间
            var DATEE = $('#DATEE').datebox('getValue'); //结束时间
            $('#gridUPPEquiStartStopLGPop').datagrid({
                fit: true,
                fitColumns: false,
                nowrap: true,
                striped: true,
                collapsible: true,
                remoteSort: false,
                singleSelect: true,
                pagination: true,
                rownumbers: true,
                idField: 'ID',
                pageSize: 20,
                pageList: [20, 40, 60, 80],
                url: '../ashx/JK/GYJYZLWH3PopHandler.ashx?action=query&DATES=' + DATES + '&DATEE=' + DATEE,
                frozenColumns: [[
              			{ field: 'ID', title: 'ID', width: 80, hidden: true },

				]],
                columns: [[
                { field: 'EQUIPNO', title: '产线', width: 130,
                    formatter: function (value) {
                        switch (value) {
                            case "Q101": return "1#生产线"; break;
                            case "Q102": return "2#生产线"; break;
                        }
                    }
                },
                 { field: 'MTRLNO', title: '物料', width: 180, formatter: function (value, row, index) {
                     return row.MaterialDes;
                 },
                     editor: {
                         type: 'combobox',
                         options: {
                             valueField: 'MaterialID',
                             textField: 'MaterialDes',
                             method: 'get',
                             url: '../ashx/JK/GYJYZLWH3PopHandler.ashx?action=classci',
                             editable: false,
                             panelHeight: 200
                         }
                     }
                 },
                  { field: 'FORMID', title: '传送代号', width: 180 },
                  { field: 'INPUTCODE', title: '输入代码', width: 180 },
                  { field: 'PROCESSCODE', title: '工序代码', width: 180 },
                  { field: 'DATE', title: '日期', width: 180,
                      formatter: function (value) {
                          var date = new Date(value);
                          var y = date.getFullYear();
                          var m = date.getMonth() + 1;
                          var d = date.getDate();
                          return y + '-' + m + '-' + d;
                      }
                  },
                  { field: 'datetime', title: '时间', width: 180 }
				]],
                onClickRow: onClickRow
            });
        };
        /*** 结束编辑[gridUPPEquiStartStopLGPop行编辑]***/
        function endEditingPTMatattributeInitLine() {
            if (editIndex == undefined) { return true }
            if ($('#gridUPPEquiStartStopLGPop').datagrid('validateRow', editIndex)) {
//ed的if语句 解决文字和ID可能不显示不对应的问题,直接赋值给conbobox
                var ed = $('#gridUPPEquiStartStopLGPop').datagrid('getEditor', { index: editIndex, field: 'MTRLNO' });  //editIndex编辑时记录下的行号
                if (ed != null) {
                    var MTRLNO = $(ed.target).combobox('getText');
                    // var MaterialID = $(ed.target).combobox('getValue');
                    $('#gridUPPEquiStartStopLGPop').datagrid('getRows')[editIndex]['MaterialDes'] = MTRLNO;
                    // $('#gridUPPEquiStartStopLGPop').datagrid('getRows')[editIndex]['MaterialID'] = MaterialID;
                   
                }
                //编辑行中带下拉框的,要加上赋值
                $('#gridUPPEquiStartStopLGPop').datagrid('endEdit', editIndex);
                editIndex = undefined;
                return true;
            } else {
                return false;
            }
        }
        /***单击行事件[gridUPPEquiStartStopLGPop行编辑]***/
        function onClickRow(index, row) {
            var isEndEdit = endEditingPTMatattributeInitLine();
            if (editIndex != index) {
                if (isEndEdit) {
                    $('#gridUPPEquiStartStopLGPop').datagrid('selectRow', index)
					.datagrid('beginEdit', index);
                    editIndex = index;
                } else {
                    $('#gridUPPEquiStartStopLGPop').datagrid('selectRow', editIndex);
                }
            }
        }
        
        /***保存事件[PTMatattributeInit行编辑]***/
        function savePTMatattributeInitLine() {
            if (endEditingPTMatattributeInitLine()) {
                var rows = $('#gridUPPEquiStartStopLGPop').datagrid('getRows');
                changeRows = $.getGridChangesRows('gridUPPEquiStartStopLGPop');
                if (changeRows.hasChanges) {
                    $.post('../ashx/JK/GYJYZLWH3PopHandler.ashx?action=save', { changeRows: JSON.stringify(changeRows) },
			 function (jsonResult) {
			     $.dealAjaxResult(jsonResult, function (jsonResult) {
			         $.show_warning_inframe(jsonResult.Msg, 'success');
			         $('#gridUPPEquiStartStopLGPop').datagrid('acceptChanges');
			         $('#gridUPPEquiStartStopLGPop').datagrid('reload').datagrid('clearSelections');
			         //保存成功后,也可以刷新页面(需要修改grid名称):
			         //$("#gridPTMatattributeInitPop").datagrid("reload");
			     })
			 });
                }
            }
            initDataGridUPPEquiStartStopLGPop();
        }


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值