對於我而言,
我有一個NSTableView
從 「項目列表視圖」 下的項目,
和OutlineView
與此類似:
- 父
- 父乙
- 項目列表視圖
父A和B都並不重要,但他們在這裏展示,有在「項目列表視圖」之前不是固定數量的行。
所以,我做什麼,是我用我的NSTableView
的代表,並在該方法中使用
NSTableView *tableView = [aNotification object];
NSInteger clickedRowInTableView = [tableView selectedRow];
的
- (void)tableViewSelectionDidChange:(NSNotification *)aNotification
方法來獲取新的選定行中我tableView
。
之後,我得到了「項目列表視圖」的行號(它動態獲取它,這取決於「父母」是否展開,以及他們有多少個孩子),還展開了「項目列表視圖「,如果它還沒有擴大。
接下來,我將所有數字加在一起:clickedRowInTableView
+ rowNrOfItemsListView
+ 1
,1爲「Items list view」行。
然後我用NSOutlineView
的– selectRowIndexes:byExtendingSelection:
(謝謝你Nate指出來),在OutlineView
中設置選定的行。
我希望這對我和那些處境相同的人有一些幫助。
當我們在NSOutlineView中使用樹時,它不起作用。使用3-4級深度樹時選擇任何方式進行選擇? –