单击按钮,清除jqgrid并重新加载数据

时间:2013-04-19 11:50:14

标签: jquery jqgrid

我有一个jqgrid,它不在document.ready中。只有当我点击一个按钮时才会触发它。

  function getData{
    DataHandler.getTasks(locName,{callback:function(data){
    jQuery("#TaskTable").jqGrid(
                {
    datatype : "local",
    data : resultSet,
    height : 250,
    width : 960,
    sortable : false,
    ignoreCase : true,
    sortorder : "desc",
        //rest of the table contents like colname and colmodel
     });

    }, errorHandler:function(){

        },async:false

    });

我想清除每个按钮上的网格,以便删除已存在的数据并重新加载。这样做有什么帮助吗?我应该在文档准备就绪或点击按钮时将清晰的网格放在哪里?

由于

2 个答案:

答案 0 :(得分:7)

假设标记为:

 <table id='myGrid' />

您可以使用以下代码从服务器清除并加载新数据:

function loadTable() {
$('#myGrid').jqGrid('GridUnload');  //this does the work of clearing out the table content and loading fresh data
$('myGrid').jqGrid({
    url: 'url goes here',
    dataType: 'json',
    jsonReader: {
        root: 'Data',
        page: 'CurrentPage',
        total: 'TotalPage',
        records: 'TotalRecords',
        repeatitems: false
    },
    onSelectRow: editRow
});

}

您还可以查看以下link以获取更多信息。

答案 1 :(得分:2)

所以这可以作为按钮

的click事件处理程序的一部分来完成

重置jqGrid中最后一篇文章中保存的参数

var postData = grid.jqGrid('getGridParam', 'postData');
    $.extend(postData, { filters: "" });

重置过滤结果的搜索框

 $('#gbox_SearchResults').find('[id^="gs"]').val('');

触发重新加载

grid.jqGrid().trigger('reloadGrid', [{ page: 1}]);