4

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

  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

    });

我想在每次单击按钮时清除网格,以便删除已经存在的数据并重新加载。这样做有什么帮助吗?我应该在哪里准备好文档内的清晰网格或单击按钮?

谢谢

4

2 回答 2

8

假设标记:

 <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
});

}

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

于 2013-04-19T15:18:01.117 回答
2

所以这可以作为按钮的点击事件处理程序的一部分来完成

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

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

重置过滤结果的搜索框

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

触发重新加载

grid.jqGrid().trigger('reloadGrid', [{ page: 1}]);
于 2013-04-19T13:57:16.433 回答