使用格式化程序后未填充jqGrid单元格标题和值:'选择'

时间:2015-07-29 04:10:30

标签: jquery jqgrid formatter

我有2列(以及其他列) - 带编辑类型的L1Cat和L2Cat:"选择"。在选择L1Cat时,L2Cat是从L2Cat的预取主列表(l2OfL1)动态填充的。下面是2个列的colModel代码:

{ name: 'L1Cat', width: 160, editable: true,align : "right",sortable : false, formatter: 'select',
                edittype: 'select', editoptions: {
                    value: l1,
                    dataInit: function (elem) {
                        var v = $(elem).val();

                        var sc = l2OfL1[v];
                        var newOptions = '';
                        for(var l2Index in sc) {
                            if (sc.hasOwnProperty(l2Index)) {
                                var ob = sc[l2Index];
                                for(var ab in ob){
                                    newOptions = newOptions + ab + ":" + ob[ab] + ";";
                                }

                            }
                        }
                        newOptions = newOptions.substring(0,newOptions.length - 1);
                        grid.setColProp('L2Cat', { editoptions: { value: newOptions} });
                    },
                    dataEvents: [
                        {
                            type: 'change',
                            fn: function(e) {

                                var v = parseInt($(e.target).val(), 10);
                                var sc = l2OfL1[v];
                                var newOptions = '';
                                for(var l2Index in sc) {
                                    if (sc.hasOwnProperty(l2Index)) {
                                        var ob = sc[l2Index];
                                        for(var ab in ob){
                                            newOptions += '<option role="option" value="' +
                                            ab + '">' +
                                                      ob[ab] + '</option>';
                                        }
                                    }
                                }

                                    // inline editing
                                    var row = $(e.target).closest('tr.jqgrow');
                                    var rowId = row.attr('id');
                                    $("select#" + rowId + "_L2Cat", row[0]).html(newOptions);

                            }
                        }
                    ]
                }
            }
            , {
                name : "L2Cat",
                width : 200,
                align : "right",
                sortable : false,
                edittype : "select",

                editable : true
            }

如果我使用格式化程序&#34;选择&#34;在L1Cat中,第一次加载主网格数据时,不显示L1Cat的所有行中的值。当我单击内联编辑按钮时,两个下拉列表都会填充,在保存行时,l1Cat值可见。如果我删除格式化程序:&#34;选择&#34;在L1Cat中,L1cat值是可见的,但是在单击内联编辑按钮时,下拉列表为空。

请告诉我如何显示L1Cat值以及填充内联编辑的下拉列表。

0 个答案:

没有答案