【问题标题】:JqGrid add value on dropdown base on selected data on another jqgrid dropdownJqG​​rid 根据另一个 jqgrid 下拉列表中的选定数据在下拉列表中添加值
【发布时间】:2020-04-11 15:29:08
【问题描述】:

您好,我目前对 jqgrid 的情况感到困惑。例如,如果我选择运动,则另一个下拉列表将包含运动列表的数据。 我可以加载数据,但我不知道如何开始。

这是我的代码

$('#d1d2-lot-information-grid').jqGrid('clearGridData').trigger("reloadGrid");
    $('#d1d2-lot-information-grid').jqGrid({
        datatype: 'local',
        data: lots,
        editurl: 'clientArray',
        colNames: ['Device', 'Package', 'Lot No.', 'Lot Qty'],
        colModel: [
            { name: 'Device', index: 'Device', sortable: false, editable: true, editrules: { required: true }, edittype: 'select', },
            {
                name: 'Package',
                index: 'Package',
                sortable: false,
                editable: true,
                editrules: { required: true },
                edittype: 'select',
                editoptions: { value: packageOptions },
            },
            { name: 'LotNo', index: 'LotNo', sortable: false, editable: true, editrules: { required: true }, },
            { name: 'LotQty', index: 'LotQty', sortable: false, editable: true, editrules: { required: true }, }
        ],
        beforeSelectRow: function (id) {
            if ($('#' + id).attr('editable') == 1) {
                return false;
            }
        },
        pager: '#d1d2-lot-information-pager',
        pgbuttons: false,
        pginput: false,
        sortorder: 'asc',
        sortname: 'name',
        multiselect: true,
        height: '130',
        maxheight: '130',
        width: '522',
        viewrecords: true,
        rowNum: 10000
    });
    $('#d1d2-lot-information-grid').jqGrid({ recreateForm: true })

    // Disable form CRUD
    $('#d1d2-lot-information-grid').jqGrid('navGrid', '#d1d2-lot-information-pager', { edit: false, save: false, add: false, cancel: false, del: show, search: false, refresh: false });

    // Enable inline CRUD
    $('#d1d2-lot-information-grid').jqGrid('inlineNav', '#d1d2-lot-information-pager', { add: show, edit: show, save: show, cancel: show });
}

我在 jqgrid 还挺新的 对不起我的英语不好希望你能理解我 它应该适用于内联添加和内联编辑

【问题讨论】:

    标签: c# jquery asp.net .net jqgrid


    【解决方案1】:

    如果您使用Guriddo jqGrid,您可以使用我们知识库中的示例here

    【讨论】:

    • 抱歉,这是一个现有项目,我无法为此添加新库
    【解决方案2】:

    通过这段代码解决我的问题。 有点乱,但按我的需要工作

     $('#d1d2-lot-information-grid').jqGrid({
            datatype: 'local',
            data: lots,
            editurl: 'clientArray',
            colNames: ['Device', 'Package', 'Lot No.', 'Lot Qty'],
            colModel: [
                { name: 'Device', index: 'Device', sortable: false, editable: true, editrules: { required: true }, edittype: 'select', editoptions:{value:':-Select Device-'} },
                {
                    name: 'Package',
                    index: 'Package',
                    sortable: false,
                    editable: true,
                    editrules: { required: true },
                    edittype: 'select',
                    editoptions: { value: packageOptions,dataEvents: [
                            {
                                type: 'change',
                                fn: function(e) {
    
                                var packageID = $(this).val();
    
                                 var selr = jQuery('#d1d2-lot-information-grid').jqGrid('getGridParam', 'selrow');
    
                                        var  modes = [],
                                          params = { packageID:packageID };
    
                                         $.ajax({
                                             async: false,
                                             type: 'POST',
                                             contentType: 'application/json',
                                             url: baseUrl + 'ncrb/Default.aspx/GetDevice',
                                             data: JSON.stringify(params),
                                             dataType: 'json',
                                            success: function (data) { modes = data; },
                                            error: function (xhr, status, error) { console.log(xhr, status, error); }
                                        });
                                        var targetrow = '#'+selr + '_Device';
    
                                        $(targetrow).empty();
                                        var items="";
    
                                             $.each(modes, function (key, value) {
    
                                                   items = '<option value="' + value.Description + '">' + value.Description + '</option>';
                                                       $(targetrow).append(items);
                                             });
    
    
                                         return modes;
    
    
                                }
                            }
                        ] },
    
                },
                { name: 'LotNo', index: 'LotNo', sortable: false, editable: true, editrules: { required: true }, },
                { name: 'LotQty', index: 'LotQty', sortable: false, editable: true, editrules: { required: true }, }
            ],
            beforeSelectRow: function (id) {
                if ($('#' + id).attr('editable') == 1) {
                    return false;
                }
            },
            pager: '#d1d2-lot-information-pager',
            pgbuttons: false,
            pginput: false,
            sortorder: 'asc',
            sortname: 'name',
            multiselect: true,
            height: '130',
            maxheight: '130',
            width: '522',
            viewrecords: true,
            rowNum: 10000
        });
        $('#d1d2-lot-information-grid').jqGrid({ recreateForm: true })
    
        // Disable form CRUD
        $('#d1d2-lot-information-grid').jqGrid('navGrid', '#d1d2-lot-information-pager', { edit: false, save: false, add: false, cancel: false, del: show, search: false, refresh: false });
    
        // Enable inline CRUD
        $('#d1d2-lot-information-grid').jqGrid('inlineNav', '#d1d2-lot-information-pager', { add: show, edit: show, save: show, cancel: show });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-07-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-10-31
      相关资源
      最近更新 更多