2012-02-16 19 views
0

當我切換jqGrid使用高級搜索 - 它似乎工作正常,除了彈出上面的錯誤「TypeError:Can not read property'當您點擊查找按鈕時,在Chrome瀏覽器中搜索「未定義的」。奇怪的是,Firefox的錯誤是:「TypeError:g is undefined」。jqGrid搜索引發錯誤:TypeError:無法讀取未定義的屬性'searchrules'

如果我只是點擊確定的錯誤,頁面回帖到我的MVC控制器就好了。我只是想讓錯誤消失 - 任何想法? 這裏是網格代碼:

jQuery("#list").jqGrid({ 
      url: '/Audit/GridData/', 
      datatype: 'json', 
      mtype: 'GET', 
      colNames: ['Id', 'Date', 'Username', 'ObjectName', 'Event', 'Module'], 
      colModel: [ 
     { name: 'Id', index: 'Id', width: 100, align: 'left', searchrules: { required: true }, search: true }, 
     { name: 'Date', index: 'DateStamp', width: 100, align: 'left', searchrules: { required: true }, search: true }, 
     { name: 'Username', index: 'Username', width: 200, align: 'left', searchrules: { required: true }, search: true }, 
     { name: 'ObjectName', index: 'ObjectType', width: 200, align: 'left', searchrules: { required: true }, search: true }, 
     { name: 'Event', index: 'Event', width: 120, align: 'left', searchrules: { required: true }, search: true }, 
     { name: 'Module', index: 'Module', width: 120, align: 'left', searchrules: { required: true }, search: true}], 
      pager: '#pager', 
      rowNum: 10, 
      postData: { 
       filters: '{"groupOp":"AND","rules":[{"field":"invdate","op":"gt","data":"2007-09-06"},{"field":"invdate","op":"lt","data":"2007-10-04"},{"field":"name","op":"bw","data":"test"}]}' 
      }, 
      pgbuttons: true, 
      rowList: [5, 10, 20, 50], 
      sortname: 'Id', 
      sortorder: "desc", 
      viewrecords: true, 
      imgpath: 'http://ajax.aspnetcdn.com/ajax/jquery.ui/1.8.16/themes/redmond/images/', 
      caption: 'Audits' 
     }).navGrid('#pager', { search: true, edit: false, add: false, del: false, searchtext: "Search" }, {}, {}, {}, { multipleSearch: true, sopt: ['eq', 'bw', 'cn', 'gt', 'lt'] }); 

感謝

+0

只是注意到,這隻適用於我用Id搜索。如果我不按ID搜索,但其他列,一切都很好。 – PaulTheCyclist 2012-02-16 15:07:01

回答

1

您使用postData.filters很奇怪值。它包含網格中不存在的invdatename字段的規則。我想,正確的數據將會像

postData: { 
    filters: '{"groupOp":"AND","rules":[' + 
     '{"field":"DateStamp","op":"gt","data":"2007-09-06"},' + 
     '{"field":"DateStamp","op":"lt","data":"2007-10-04"},' + 
     '{"field":"Username","op":"bw","data":"test"}]}' 
} 

在你應該從你使用colModelindex屬性使用值的任何方式。

此外,你應該刪除deprecated選項imgpath這將被剛剛被更高版本爲3.4.x的jqGrid忽略。

+0

完美!這工作正常(一旦你的「DateStampe」的錯字被刪除)。這是我第一次使用jqGrid ...感謝您的幫助 – PaulTheCyclist 2012-02-16 15:27:21

+0

@PaulDavies:不客氣!我修正了這個類型。 – Oleg 2012-02-16 17:33:39

相關問題