2011-08-09 70 views
0

實際創建一個過濾器jqGrid的工具欄應該是正前方的「新在3.5,集成搜索工具欄」 exampledocumentationjqGrid的過濾器工具欄 - colModel:對象爲null或undefined問題

然而,當我運行線myDataTable.jqGrid('filterToolbar', filterOpts);我總是得到一個錯誤「無法獲得屬性‘colModel’的值:對象爲null或undefined」在JQuery.jqGrid.src.js的3613線,這就是: $.each($t.p.colModel,function(i,n) { ..

爲了記錄,jqGrid的版本是4.1.2。網格本身顯示/工作正常。

這是我如何初始化網格的代碼,很可能我會監督一些非常簡單的事情。

var ft = document.getElementById("myData"); // this is the HTML table element as usual 
    var colModel = [ 
    { name: 'i', index: 'i', width: 60, hidden: true, search: false }, 
    { name: 'c', index: 'c', width: 100, search: true }, 
    { name: 'p', index: 'p', width: 100, search: true }, 
    { name: 'displayed', index: 'displayed', align: 'center', width: 100, formatter: booleanToCheckmark, search: false }, 
]; 
    $(function() { 
     $(ft).jqGrid({ 
       datatype: 'clientSide', 
       data: globals.myData, // Array of objects ("the data"), data is correctly displayed 
       height: 300, 
       // autowidth: true, 
       width: 300, 
       forceFit: true, 
       colNames: ['I', 'C', 'P', 'dis.'], 
       colModel: colModel, 
       rowNum: 10000, 
       sortname: 'displayed', 
       sortorder: 'desc', 
       viewrecords: true, 
       gridview: true, 
       caption: 'XYZ' 
      }); 
    }); 
    // filter bar 
    // http://www.trirand.com/jqgridwiki/doku.php?id=wiki:toolbar_searching 
    var filterOpts = { autosearch: true }; 

    // LINE WHERE IT FAILS 
    $(ft).jqGrid('filterToolbar', filterOpts); 
+0

在發佈的代碼中使用了太多未知的變量和函數:'w','wd','wc','wp','globals.myData','booleanToCheckmark','ft'。爲了能夠重現你的問題,你應該包括在那裏。 – Oleg

+0

點,完成! –

回答

1

你嘗試調用filterToolbar$(function() {/*it should be called here*/});錯誤。

通常一個地方全部代碼裏面的$(function() {...});。在這種方式中,還減少了將作爲屬性添加到window的全局變量的數量。全局變量的使用額外增加了與其他標準全局變量發生衝突的可能性。

+0

正如你所說,我看到它;-)非常感謝! –

+0

@霍斯特沃爾特:不客氣!晚安! – Oleg

相關問題