2011-10-10 110 views

回答

7
// init & store 
grid = new Slick.Grid("#myGrid", data, columns, options); 
$("#myGrid").data("gridInstance", grid); 

// access later on 
$("#myGrid").data("gridInstance").resizeCanvas(); 
2

您需要清楚地區分JQuery對象和javascript網格對象。

你的HTML標記看起來應該是這個樣子:

<div id="myGrid" style="width:600px;height:500px"></div> 

和你sctipt會是這個樣子。

var grid; 
var columns = [ {... column stuff 
var options = { ... grid options 
var data = [ ... data for the grid 

grid = new Slick.Grid("#myGrid", data, columns, options); 

JQuery選擇器$("#myGrid")將返回一個包裝DOM元素的JQuery對象。基本上,這是給你一個參考頁面上的<div>對象。它就像HTML頁面上的任何其他元素一樣,沒有特定於網格的功能。這是一個div,就像任何其他。

在JavaScript的grid變量保存到新創建的對象(類型Slick.Grid的)的引用。這是一個在SlickGrid庫中定義的自定義對象,它提供了操縱網格所需的所有屬性和方法。例如,如果您想調用resizeCanvas()方法,則需要通過網格對象而不是div元素調用此方法。

grid.resizeCanvas();