【问题标题】:How to reload the data in jquery jqGrid whenever the json value is changes?每当json值发生变化时,如何在jquery jqGrid中重新加载数据?
【发布时间】:2016-10-22 12:59:30
【问题描述】:

我创建了一个 jquery 网格并将 json 数据加载到其中。我在弹出窗口中有一些单选按钮。基于该选择,json 值被更改。第一次,将 json 加载到 gqgrid 中。但是当我选择其他单选按钮时,json 值会更改,但新的 json 不会加载到 jqgrid 中。旧的 json 正在显示。

我试过了,

    obj.datatype = "local";
        obj.viewrecords = true;
        obj.rowNum = 20;
        obj.pager = "#jqGridPager";
        obj.data = jsonValue;
        obj.localReader = {repeatitems: true};
        obj.rowList = [20,30,50];
        obj.loadonce = true; 
        obj.colModel = [
                        { "label": 'Id', "name": 'studentId', "width": "150" , "key" : true},
                        { "label": 'No', "name": 'studentNo', "width": "150"},
                        { "label": 'Name', "name": 'studentName', "width": "150"},
                        { "label": 'Phone', "name": 'studentPhone', "width": "150"},
                        { "label":'Email', "name": 'primaryContactEmail', "width": "150" },
                        { "label":'Address', "name": 'studentAddress', "width": "150" }

                    ];
        obj.multiselect = true;
        obj.navOptions = { reloadGridOptions: { fromServer: true } };
        //console.log(obj)
    $("#grid_json").jqGrid(obj).jqGrid('filterToolbar').navGrid('#jqGridPager',
                { edit: false, add: false, del: false, search: true, refresh: true, view: true, position: "left", cloneToTop: true },
    {
        editCaption: "The Edit Dialog",
        recreateForm: true,
        checkOnUpdate : true,
        checkOnSubmit : true,
        closeAfterEdit: true,
        errorTextFormat: function (data) {
            return 'Error: ' + data.responseText
        }
    },
    // options for the Add Dialog
    {
        closeAfterAdd: true,
        recreateForm: true,
        errorTextFormat: function (data) {
            return 'Error: ' + data.responseText
        }
    },
    // options for the Delete Dailog
    {
        errorTextFormat: function (data) {
            return 'Error: ' + data.responseText
        }
    },
    {
     multipleSearch: true
   }

    )
    // add first custom button
   /*  $('#grid_json').navButtonAdd('#jqGridPager',
        {
            buttonicon: "ui-icon-mail-closed",
            title: "Send Mail",
            caption: "Send Mail",
            position: "last",
           // onClickButton: customButtonClicked
        }); */


   /// add second custom button
   $('#grid_json').navButtonAdd('#jqGridPager',
        {
            buttonicon: "ui-icon-pencil",
            title: "Edit",
            caption: "Edit",
            position: "last",
            //onClickButton: customButtonClicked
        });

【问题讨论】:

    标签: javascript jquery json jqgrid


    【解决方案1】:

    首先尝试清除网格数据,然后将网格选项的数据属性重置为新的 json 数据。

      var grid = $("#grid_json");
    
       grid.jqGrid('clearGridData').jqGrid('setGridParam', {
        data: new_data
       }).trigger('reloadGrid', [{ page: 1 }]);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-09-06
      • 2020-04-08
      • 2016-07-07
      • 1970-01-01
      • 2023-03-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多