2009-11-12 36 views
0

我有一個綁定到核心數據的NSTableView。我有另一個NSTableView,目前不綁定任何東西(但如果需要可以更改)。從一個NSTableView複製到另一個(使用核心數據綁定)

當按下一個按鈕時,我希望第一個表中當前選定的行被複制(但不能刪除)到第二個表中。

例如

前:

首先表

Column1 | Column2 | Column3 
Person | Place | Time 

二表

Column1 | Column2 | Column3 
     |   | 

後:

Column1 | Column2 | Column3 
Person | Place | Time 

第二個表

Column1 | Column2 | Column3 
Person | Place | Time 

我怎麼會去這樣做呢?

謝謝!

回答

1

這不是NSTableView的問題,這更多的是程序設計問題。你的NSTableView顯示什麼?數據。爲了將選定對象放在一個表視圖中並使其出現在另一個表視圖中,您需要確定選擇了哪個數據對象,並將其添加到另一個表視圖的數據集中,以便它也出現在其中。

這聽起來像你使用綁定。如果是這樣,那麼你應該將你的第二個表視圖綁定到一個數組控制器,該控制器跟蹤應該在那裏顯示的對象。是否需要將該陣列控制器綁定到內容集取決於您的應用程序。

因此,要獲得所選項目,請查看NSArrayController上的selectedObjects方法。這給出了當前所選對象的數組。然後,您需要將所選對象添加到第二個表視圖的數組控制器。一旦你這樣做,綁定將會發揮他們的魔力並自動更新你的表格視圖。

相關問題