如何在单击按钮时将数据表绑定到jqGrid MVC

时间:2018-09-04 15:16:08

标签: asp.net-mvc data-binding datatable mvcjqgrid

我想在页面加载时显示列名称为空的网格,当用户单击搜索按钮时,它将以数据表的形式从数据库表中获取数据,并且需要绑定到jqGrid中。 / p>

我一直在研究thisthis解决方案,但它们同时有2个调用,一个正在用数据调用列,而另一个仅在调用数据。

我想要将页面加载时的列绑定到按钮单击时的数据绑定的解决方案。

 $(document).ready(function () {
     //Load Empty jqgrid dynamically using datatable row column...
       $(gridData).jqGrid({           
        url: "../Generic/GetRowColumns",
        colNames: colNames, // this would bind dynamically
        colModel: colModel  // this would bind dynamically         

    });

 $("#btnSubmit").click(function () {
        var data = $("#dataForm").serialize();
        //Bind jqGrid by datatable on ajax call
        $(gridData).jqGrid({           
        url: "../Generic/GetRowColumns",
        data: data,
        colNames: colNames, // this would bind dynamically
        colModel: colModel  // this would bind dynamically         

       });
     });
  });

因此,在第一次调用时,应将空网格与数据表返回的列绑定在一起,而在同一网格中的另一个调用(单击按钮),网格将与数据绑定。

需要一些帮助。预先感谢。

1 个答案:

答案 0 :(得分:0)

据我所知,首先需要进行ajax调用以获取colNames和colModel数组,使用本地数据类型构造网格,然后单击按钮以获取所需的数据,并使用setGridParam和重新加载以生效:

$(document).ready(function () {
    ajax({
        url :  "../Generic/GetRowColumns",
        success : function(data,....) {
            var colNames =  response_from_ajax
            var colModel = response_from_ajax
            //Load Empty jqgrid dynamically using datatable row column...
            $(gridData).jqGrid({           
                colNames: colNames, // this would bind dynamically
                colModel: colModel,  // this would bind dynamically         
                datatype : "local"
            });
        }
     });

    $("#btnSubmit").click(function () {
        var data = $("#dataForm").serialize();
        //Bind jqGrid by datatable on ajax call
        $(gridData).jqGrid('setGridParam', { data : data}).trigger('reloadGrid');                             
    });
});