значение по умолчанию начальной буквы Панели инструментов Фильтра jqGrid

Я использую jqGrid с панелью инструментов фильтра, я должен установить начальное значение фильтра по умолчанию к одному из полей так, чтобы только строки с состоянием 'Open' были отображены по умолчанию, но пользователь может отобразить Закрытые строки при желании.

В данный момент у меня есть обходное решение как это

setTimeout(function() {$('#gs_Status').val('Open');$("#eventsGrid")[0].triggerToolbar()},500);

но это приводит к второму запросу и довольно плохо действительно.

Кто-либо знает, как сделать это?

Править: Немного больше исследования говорит мне, что это, вероятно, невозможно :(

12
задан tereško 13 June 2012 в 22:44
поделиться

2 ответа

Вы смотрели Поиск на панели инструментов и Дополнительные сеточные методы в вики-документации jqGrid? Похоже, вы можете использовать filterToolbar , чтобы установить фильтр, и triggerToolbar , чтобы установить фильтр. Я сам не пробовал это сделать, но вы, вероятно, сможете сделать это в loadComplete , как только данные будут загружены для сетки.

Это поможет?

1
ответ дан 2 December 2019 в 03:28
поделиться

Для этого необходимо выполнить несколько шагов:

  1. передать значение по умолчанию в параметрах поиска модели столбца
  2. предотвратить процесс загрузки данных формы по умолчанию
  3. запустить загрузку данных панели инструментов фильтра, когда таблица будет готова

Более подробно:

Установите тип данных сетки на локальный (это предотвращает начальную загрузку данных) и установите значение по умолчанию для параметров поиска:

  $("#mytable").jqGrid({
    datatype: "local",
    colNames:['Keyword','Selected'], 
    colModel:[
     {name:'keyword',
      sortable:true,
      searchoptions: { defaultValue:'golf' }
    },
    {name:'selected',
      sortable:false,
      searchoptions: { }
    },
    ....
    ....

Затем добавьте панель инструментов фильтра, установите тип данных и URL , и активируйте загрузку:

  $('#mytable').jqGrid('filterToolbar', {autosearch: true});
  $('#mytable').setGridParam({datatype: 'json', url:'/get_data.php'});
  $('#mytable')[0].triggerToolbar();
38
ответ дан 2 December 2019 в 03:28
поделиться
Другие вопросы по тегам:

Похожие вопросы: