2013-04-19 1 views
4

У меня есть jqgrid, который не находится внутри документа. Он будет срабатывать только при нажатии кнопки.при нажатии кнопки, очистить 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 

    }); 

Я хотел бы очистить сетку при каждом нажатии кнопки, чтобы удалить уже имеющиеся данные и перезагрузить. Любая помощь в этом? Где я должен предоставить прозрачную сетку внутри документа или нажать кнопку?

Благодаря

ответ

2

Так что это может быть сделано в рамках обработчика событий нажмите на кнопку

Сброс сохраненных параметров из последнего поста в jqGrid

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

Сбросить поля поиска которые отфильтровывают результаты

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

Trigger a reloa д

grid.jqGrid().trigger('reloadGrid', [{ page: 1}]); 
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 для получения дополнительной информации.

Смежные вопросы