2015-06-01 13 views
6
jq(function(){ 
    var token = window.location.href 
    .substring(window.location.href 
      .lastIndexOf('=') + 1); 
    jq("#grid").jqGrid({ 
     url:'/test/umpire/getFixtures', 
     datatype: 'json', 
     mtype: 'GET', 
     colNames:['Category', 'Tournament','Date', 'Ground','Team 1','Team 2','Umpire 1','Umpire2','Umpire 3','Match Refree','Match Obsrver','Scorer 1','Scorer 2'], 
     colModel:[ 
      {name:'categoryName',index:'categoryName', width:100,editable:true, editrules:{required:true}, editoptions:{size:10,readonly: 'readonly'}}, 
      {name:'tournamentName',index:'tournamentName', width:200,editable:true, editrules:{required:true}, editoptions:{size:10}}, 
      {name:'matchFromDate',index:'matchFromDate', width:100,formatter: "date",sorttype: "date",formatoptions:{srcformat: "U/1000", newformat: "m/d/Y"},search:true, searchoptions: {sopt: ['eq','ne'], 
       dataInit : function (elem) { 
        jq(elem).datepicker({dateFormat:'mm-dd-yy', changeYear: true, changeMonth: true, showButtonPanel: true, showOn: 'focus'}); 
       }}}, 
      {name:'groundName',index:'groundName', width:100,editable:true, editrules:{required:true}, editoptions:{size:10}}, 
      {name:'team1Name',index:'team1Name', width:150,editable:true, editrules:{required:true}, editoptions:{size:10}}, 
      {name:'team2Name',index:'team2Name', width:150,editable:true, editrules:{required:true}, editoptions:{size:10}}, 
      {name:'umpire1',index:'umpire1', width:100,formatter: function (cellvalue, options, rowObject) { 
       return '<a href="/TNCA/umpire/assign?id=' + options.rowId + '&name='+cellvalue+'&token=${token}">'+cellvalue+'</a>'; 
      }}, 
      {name:'umpire2',index:'umpire2', width:100,formatter: function (cellvalue, options, rowObject) { 
       return '<a href="/TNCA/umpire/assign?id=' + options.rowId + '&name='+cellvalue+'&token=${token}">'+cellvalue+'</a>'; 
      }}, 
      {name:'umpire3',index:'umpire3', width:100,formatter: function (cellvalue, options, rowObject) { 
       return '<a href="/TNCA/umpire/assign?id=' + options.rowId + '&name='+cellvalue+'&token=${token}">'+cellvalue+'</a>'; 
      }}, 
      {name:'matchRefree',index:'matchRefree', width:100,formatter: function (cellvalue, options, rowObject) { 
       return '<a href="/TNCA/umpire/assign?id=' + options.rowId + '&name='+cellvalue+'&token=${token}">'+cellvalue+'</a>'; 
      }}, 
      {name:'matchObserver',index:'matchObserver', width:100,formatter: function (cellvalue, options, rowObject) { 
       return '<a href="/TNCA/umpire/assign?id=' + options.rowId + '&name='+cellvalue+'&token=${token}">'+cellvalue+'</a>'; 
      }}, 
      {name:'scorer1',index:'scorer1', width:100,formatter: function (cellvalue, options, rowObject) { 
       return '<a href="/TNCA/umpire/assign?id=' + options.rowId + '&name='+cellvalue+'&token=${token}">'+cellvalue+'</a>'; 
      }}, 
      {name:'scorer2',index:'scorer2', width:100, formatter: function (cellvalue, options, rowObject) { 
       return '<a href="/TNCA/umpire/assign?id=' + options.rowId + '&name='+cellvalue+'&token=${token}">'+cellvalue+'</a>'; 
      }}, 

     ], 



     postData:{ 


     filters:'{"groupOp":"AND","rules":[{"field":"matchFromDate","op":"gt","data":"2007-09-06"},{"field":"matchFromDate","op":"lt","data":"2007-10-04"}]}' 

     }, 
     editurl :"/test/home/?token=${token}", 
     rowNum:20, 
     shrinkToFit: true, 
     rowList:[10,20,30], 
     height: 400, 
     autowidth: true, 
     rownumbers: true, 
     pager: '#pager', 
     sortname: 'matchFromDate', 
     viewrecords: true, 
     height:"100%", 
     sortorder: "asc", 
     caption:"<h2>Assign Umpire</h2>", 
     emptyrecords: "Empty records", 
     loadonce: true, 
     loadComplete: function(response) { 
    console.log(JSON.stringify(response)) 

     }, 
     jsonReader : { 
      root: "rows", 
      page: "page", 
      total: "total", 
      records: "records", 
      repeatitems: false, 
      cell: "cell", 
      id: "tournamentID" 
     } 


    }); 

Xin chào ở trên là mã jqgrid của tôi. Tôi gặp vấn đề khi tìm kiếm trường ngày tháng (matchFromDate). Tôi đã đi qua nhiều câu trả lời được đưa ra trong diễn đàn này nhưng tôi vẫn không thể đạt được tìm kiếm ngày.Tìm kiếm Jqgrid cho các ngày không hoạt động

Từ json tôi nhận được ngày như thế này phiên bản '1432683305000'

My jqGrid là 4.8.2 và tôi đang sử dụng Spring MVC.

Mọi người có thể giúp tôi giải quyết vấn đề này không? Cảm ơn bạn rất nhiều trước

+0

cung cấp cho bạn ngày có bao nhiêu miliseconds kể từ ngày (1/1/1970) vì vậy nếu bạn chuyển vào ngày mới (1432683305000), bạn có thể nhận ngày hiện tại. – Daemedeor

+0

Yup tôi có thể đạt được điều đó bằng cách đặt u/1000 vào tùy chọn định dạng. Vấn đề của tôi là tìm kiếm không hoạt động với ngày tháng. – Rajkumar

+0

Bằng cách "gặp sự cố khi tìm kiếm trường ngày", bạn có thể mở rộng không? Tôi không thấy bất kỳ tùy chọn nào bạn đang chuyển vào tìm kiếm? – Daemedeor

Trả lời

3

Dường như với tôi rằng vấn đề chính trong mã của bạn là việc sử dụng formatoptions:{srcformat: "U/1000"} trong mã của bạn. Thuộc tính như vậy có thể định dạng mã, nhưng nó sẽ lưu các giá trị ban đầu của ngày trong dữ liệu lưới cục bộ. Sau đó bạn cố gắng sử dụng jQuery UI Datepicker và nó có vấn đề để sử dụng ngày trong định dạng. Bạn có thể sử dụng cú pháp @ (xem the documentation) nhưng bạn vẫn sẽ có hai vấn đề. Thứ nhất: ngày tháng sẽ được hiển thị trong datepicker theo định dạng Unix timestamp mà không tốt. Vấn đề thứ hai: formatoptions:{srcformat: "U/1000"} lưu ngày không thay đổi (với giờ, phút, giây của ngày nhập), nhưng bạn muốn bỏ qua giờ, phút, giây, v.v ... từ dữ liệu đầu vào.

Vì vậy, tôi đề nghị bạn sử dụng các thuộc tính sau:

formatter: "date", formatoptions: {newformat: "m/d/Y"}, 
jsonmap: function (obj) { 
    var d = new Date(parseInt(obj.matchFromDate, 10)); 
    return d.getFullYear() + "-" + (d.getMonth() + 1) + "-" + d.getDate(); 
} 

với jsonmap mà cắt giờ, phút, ... các bộ phận của dữ liệu đầu vào và chuyển nó sang chuỗi với định dạng gần ISO 8601.

The jsfiddle demo sử dụng mã trên và một số cài đặt khác có thể hữu ích cho bạn: mẫu cột, onSelect gọi lại datepicker và một số khác. Tôi sử dụng free jqGrid (hiện tại trong phiên bản 4.9 RC1) thay vì Guriddo jqGrid JS 4.8.2, nhưng tôi đã cố gắng gần như không sử dụng các tính năng jqGrid miễn phí (xem wiki), vì vậy nó cũng hoạt động với Guriddo jqGrid.

+0

Hiện tại nó hoạt động tốt. Cảm ơn sự giúp đỡ tuyệt vời của bạn – Rajkumar

+0

@Rajkumar: Bạn được chào đón! Tôi rất vui vì tôi có thể giúp bạn. – Oleg

Các vấn đề liên quan