2009-11-12 57 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方法。这给出了当前所选对象的数组。然后,您需要将所选对象添加到第二个表视图的数组控制器。一旦你这样做,绑定将会发挥他们的魔力并自动更新你的表格视图。

相关问题