我想達成什麼是這樣的:
DevExpress Grid
Table with fixed columnsNSTableView的:浮動(或固定)列
在上面的鏈接的表格可以具有「固定」欄目,不與滾動其他內容。
我所知道的NSTableView
小號addFloatingSubview:forAxis:
方法的floatsGroupRows
功能,並且NSScrollView
的「;但爲了達到上述一個,這些是不夠的:
- 的列有未
NSView
S,首先 - 的表頭和表的內容按
NSScrollView
(這將放置到2個獨立的NSClipView
小號是默認的操作NSTableView
)
所以只要我找不到任何內置的解決方案。我唯一的想法是使用3 NSTableView
(彼此相鄰)(左側+1,右側+1);並手動同步它們中的垂直滾動。如何同步水平滾動,現在這是一個更難的問題。左右兩側不應該滾動,所以應該「浮動」。 對於表格的內容,(*);但列標題是不同的動物。好吧,仍然應該有一種方法通過黑客列的圖紙來實現這一浮動行爲......NSScrollView
的addFloatingSubview:forAxis:
方法應該工作IMO
不過,我仍然沒有開始執行上述之一,因爲我NSTableView
已經夠慢(NSTableview View Based Scrolling Performance) ,我相信這些加上的東西會讓它變得非常糟糕。
有沒有人(更好)的想法如何在可可中實現浮動列? 任何幫助非常感謝!
編輯
(*):NSScrollView
的addFloatingSubview:forAxis:
不適合這項工作。正如我現在看到的那樣,如果NSView
給出的這個方法是NSTableView
的子視圖,那麼它會得到特殊的處理。可能該表格將自己的邏輯添加到;現在對我來說,NSTableView
一次只能有1個浮動行。
如何同步水平滾動:[同步滾動視圖](https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/NSScrollViewGuide/Articles/SynchroScroll.html)。 – Willeke
謝謝,有用的來源。 (對於垂直滾動的同步,不是水平的,水平滾動不需要任何同步) – nvirth
我會注意不要試圖通過結合現成的可可組件來模擬這些截圖。正如你似乎欣賞,結合和填充多個表視圖,然後同步滾動,然後克服性能問題將成爲一個萬能的頭痛。相反,放棄你理想的方法,並專注於提出一個以更傳統的方式使用可用組件的解決方案 - 如果你這樣做,我認爲你會爲你自己保證很多努力,並最終得到一個很多的UI更容易與之合作。 –