2013-02-13 4 views
0

Я пытаюсь реализовать поиск/фильтрацию ToolBar для jqGrid. Когда я ввожу какой-либо текст в любой из фильтров и нажимаю Enter, ничего не происходит - не уверен, что я сделал здесь неправильно. Любая помощь приветствуется:jqGrid filterToolbar не работает - ASP.NET

jQuery("#list").jqGrid({ 
      datatype: 'json', 
      url: 'GetIncidents.ashx?view=MyIncidents', 
      height: "100%", 
      scrollOffset: 0, 
      jsonReader: { 
       root: "rows", 
       page: "page", 
       total: "total", 
       records: "records", 
       repeatitems: false, 
       cell: "cell", 
       id: "ID", 
       userdata: "userdata", 
       subgrid: { 
        root: "rows", 
        repeatitems: true, 
        cell: "cell" 
       } 
      }, 
      colNames: ['ID', 'Title', 'Assigned To', 'Status', 'Priority', 'Classification', 'Affected User', 'Support Group', 'Last Modified'], 
      colModel: [ 
        { name: 'ID', index: 'ID', width: 40, sorttype: 'int', firstsortorder: 'desc' }, 
        { name: 'Title', index: 'Title', width: 180 }, 
        { name: 'AssignedUser', index: 'AssignedUser', width: 100, align: 'center' }, 
        { name: 'Status', index: 'Status', width: 50, align: 'center' }, 
        { name: 'Priority', index: 'Priority', width: 50, align: 'center' }, 
        { name: 'Classification', index: 'Classification', width: 150, align: 'center' }, 
        { name: 'AffectedUser', index: 'AffectedUser', width: 100, align: 'center' }, 
        { name: 'TierQueue', index: 'TierQueue', width: 100, align: 'center' }, 
        { name: 'LastModified', index: 'LastModified', width: 120, align: 'center', formatter: 'date', formatoptions: { srcformat: 'Y-m-d H:i:s0', newformat: 'm/d/Y h:i A'}}], 
      pager: '#pager', 
      rowNum: 15, 
      width: 980,     
      sortname: 'ID', 
      sortorder: 'desc', 
      viewrecords: true, 
      autowidth: true, 
      gridview: true, 
      ignoreCase: true, 
      caption: 'All Open Incidents Assigned To Me', 
      onSelectRow: function (id) { window.location = 'ViewIncident.aspx?id=' + id; } 
     }); 

     jQuery("#list").jqGrid('filterToolbar', { stringResult: true, searchOnEnter: false, defaultSearch: "cn" }); 

ответ

0

jqGrid полагается на сервер для функции фильтрации, если вы исследуете исходящую после действия вы увидите дополнительные данные, которые он добавляет к сообщению прохождения данных фильтрации.

Таким образом, ваша фильтрация будет выполняться на сервере, ваш затем отфильтрованный набор данных будет заказываться/выгружаться и т. Д., А затем передаваться обратно в ваш jqGrid.

На мой взгляд, это место, чтобы начать: ASP.NET MVC 2.0 Implementation of searching in jqgrid

Из этого примера потребуется немного усилий, чтобы установить, но оттуда вы будете иметь хорошую базу для обработки динамической фильтрации. Если вы имеете дело с очень простой фильтрацией, вы, вероятно, можете использовать некоторые из компонентов, чтобы взломать что-то, но многое из того, что было раньше, потребует инвестиций в этот дополнительный вариант.

0

Пара вещей первой попытке добавить document.ready функция пусть ваш груз браузера перед обжигом до сетки, а затем добавить loadonce: правда,

затем попытаться запустить его и он должен работать!

Вот код

JQuery(document).ready(function(){ 
jQuery("#list").jqGrid({ 
     datatype: 'json', 
     url: 'GetIncidents.ashx?view=MyIncidents', 
     height: "100%", 
     scrollOffset: 0, 
     jsonReader: { 
      root: "rows", 
      page: "page", 
      total: "total", 
      records: "records", 
      repeatitems: false, 
      cell: "cell", 
      id: "ID", 
      userdata: "userdata", 
      subgrid: { 
       root: "rows", 
       repeatitems: true, 
       cell: "cell" 
      } 
     }, 
     colNames: ['ID', 'Title', 'Assigned To', 'Status', 'Priority', 'Classification', 'Affected User', 'Support Group', 'Last Modified'], 
     colModel: [ 
       { name: 'ID', index: 'ID', width: 40, sorttype: 'int', firstsortorder: 'desc' }, 
       { name: 'Title', index: 'Title', width: 180 }, 
       { name: 'AssignedUser', index: 'AssignedUser', width: 100, align: 'center' }, 
       { name: 'Status', index: 'Status', width: 50, align: 'center' }, 
       { name: 'Priority', index: 'Priority', width: 50, align: 'center' }, 
       { name: 'Classification', index: 'Classification', width: 150, align: 'center' }, 
       { name: 'AffectedUser', index: 'AffectedUser', width: 100, align: 'center' }, 
       { name: 'TierQueue', index: 'TierQueue', width: 100, align: 'center' }, 
       { name: 'LastModified', index: 'LastModified', width: 120, align: 'center', formatter: 'date', formatoptions: { srcformat: 'Y-m-d H:i:s0', newformat: 'm/d/Y h:i A'}}], 
     pager: '#pager', 
     rowNum: 15, 
     width: 980,     
     sortname: 'ID', 
     sortorder: 'desc', 
     viewrecords: true, 
     autowidth: true, 
     gridview: true, 
     ignoreCase: true, 
     loadonce:true, //**you need to add this** 
     caption: 'All Open Incidents Assigned To Me', 
     onSelectRow: function (id) { window.location = 'ViewIncident.aspx?id=' + id; } 
    }); 

    jQuery("#list").jqGrid('filterToolbar', { stringResult: true, searchOnEnter: false, defaultSearch: "cn" }); 

})

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