2015-09-08 2 views
0

В настоящее время я показываю конкретный набор данных в jqgrid. Я хочу сортировать и искать столбец Job Date, но он не работает.JQGrid сортировка даты и поиск

Дата отображается как 2015-08-26, но ни сортировка, ни поиск не выполняются.

Я что-то упустил.

var gridSelector = "#tblist"; 
    var emptyMsgDiv = $("<div style=\"text-align:center\"><span style='color:red;font-size:24px'>No records found</span></div>"); 
    jQuery(gridSelector).jqGrid({ 
     url: '@Url.Action("ListActivities", "DailyActivity")', 
     loadonce: true, 
     datatype: 'json', 
     shrinkToFit: true, 
     autowidth: true, 
     mtype: 'GET', 
     ignoreCase: true, 
     colNames: ['Edit', 'ActivityID', 'Job No', 'Job Date',...], 
     colModel: [ 
      { name: 'Edit', index: 'Edit', formatter: EditBind, width: '50px', search: false, sortable: false }, 
      { name: 'ActivityID', index: 'ActivityID', hidden: true }, 
      { name: 'DOWJobNumber', index: 'DOWJobNumber', align: 'left', width: '100px' }, 
      { 
       name: 'DOWJobDate', index: 'DOWJobDate', width: '70px', 
       formatter: 'date', 
       sorttype: 'date', 
       formatoptions: {srcformat:'ISO8601Long', newformat: 'ISO8601Short' }, 
       datefmt: 'ISO8601Short', 
       searchoptions: { 
        sopt: ['eq', 'gt', 'ge'], 
        dataInit: function (el) { 
         $(el) 
          .datepicker({ dateFormat: "yy-mm-dd" }) 
          .change(function() { 
           $(gridSelector)[0].triggerToolbar(); 
          }); 
        } 
       } 
      }, 
      { ... },... 
     ], 
     height: 'auto', 
     pager: '#gridpager', 
     rowNum: 20, 
     rowList: [5, 10, 20, 50, 100], 
     sortname: 'ActivityID', 
     sortorder: 'desc', 
     jsonReader: { 
      repeatitems: false, 
      root: function (obj) { return obj; }, 
      page: function (obj) { return 1; }, 
      total: function (obj) { return 1; }, 
      records: function (obj) { return obj.length; } 
     }, 
     loadError: function (xhr, st, err) { 
      bootbox.alert("Error retrieving data!"); 
     }, 
     emptyrecords: 'No Records found', 
     loadComplete: function() { 
      emptyMsgDiv.insertAfter($('#tblist').parent()); 
      var ts = this; 
      if (ts.p.reccount === 0) { 
       $(this).hide(); 
       emptyMsgDiv.show(); 
      } else { 
       $(this).show(); 
       emptyMsgDiv.hide(); 
      } 
     } 
    }) 
    .jqGrid('filterToolbar', { stringResult: true, searchOnEnter: false, defaultSearch: "cn" }); 

Edit: Похоже, что поиск делается на формате JSON (/Date (1430937000000)/). Как это может быть изменено для поиска и сортировки, используя указанный формат даты

ответ

0

мне пришлось форматировать времени и даты в виде текста в контроллере и обработал его в JQGrid ниже

{ 
    name: 'DOWJobDateText', index: 'DOWJobDateText', width: '80px', 
    formatter: 'date', 
    sorttype: 'date', 
    formatoptions: { srcformat: 'd/m/Y', newformat: 'd/m/Y' }, 
    datefmt: 'd/m/Y', 
    searchoptions: { 
     dataInit: function (el) { 
     $(el) 
     .datepicker({ dateFormat: "dd/mm/yy" }) 
     .change(function() { 
       $(gridSelector)[0].triggerToolbar(); 
      }); 
     } 
    } 
} 
Смежные вопросы