2011-11-16 89 views
5

是否可以使SlickGrid的第一列固定?這樣它在水平滾動期間總是可見的,就像標題行一樣?第一列固定的SlickGrid

感謝您的幫助!

+0

所以我沒有在源代碼中找到任何東西(版本SlickGrid v2.0 alpha)。也許答案只是「不」。 – user1027167

+1

對於來自SlickGrid作者的同一問題,這裏的答案是:http://groups.google.com/group/slickgrid/browse_thread/thread/ba6a85279f3cfd5f – njr101

回答

5

我認爲你可以在事件.onViewportChanged()使下一個步驟:

  1. 獲取列與.getColumns()並存儲在一個數組變量arrColumns
  2. 然後檢測第一列。
  3. 商店中一個數組變量arrData
  4. 排序arrColumns把第一列的開頭與.getData()數據。
  5. 坐落在新arrColumns列與.setColumns()
  6. 重組arrDataarrColumns的順序。
  7. 致電.resizeCanvas()
  8. 橫過你的手指。 :D

對不起,但我沒有找到一種方法或選項,因爲您可以以您想要的方式進行此操作。

好吧,看看你對this的看法。這遠非完美,但它是一個想法。如果scrollTo()方法是公開的,我會做得更好。

+0

感謝您的考慮:)但我認爲這不是很高性能... – user1027167

+0

爲什麼不嘗試做一些測試? – Galled

+0

不是很高效,因爲您必須處理網格的所有數據。下一個問題:水平滾動是逐個像素完成的,而不是逐列完成的。 – user1027167

0

我知道這並不完全符合您的需求,但您可以通過在選項對象中將forceFitColumns設置爲true來完全避免水平滾動。

我認爲這種行爲對於屏幕非常小的用戶是不可取的。

+0

不,他需要像Excel中的凍結窗格。 – Galled

+1

因此,我的答覆中的第一句話... – vemv

11

還有另一個論壇鏈接(現在找不到它),導致我的JLynch's fork。他保留了1.4.3標籤和他的凍結列和行的補丁,並保持了2.0頭。這裏是兩個frozen rows and columns的2.0例子。

在那個例子中,筆者採用了幾個附加選項屬性:

 ,topPanelHeight: 25 
     ,frozenColumn: 2 
     ,frozenRow: 5 

希望這你想要做什麼,而無需破解的核心太多了!

+0

他的slickgrid.js與普通的不同,很難用新的slickgrid版本做一些更新。我們應該找到另一種方式。 – Stiger