0

コアデータにバインドされた NSTableView があります。現在、何にもバインドされていない別の NSTableView があります (ただし、必要に応じて変更できます)。

ボタンを押すと、最初のテーブルで現在選択されている行が 2 番目のテーブルにコピーされます (削除されません)。

例えば

前:

最初のテーブル

Column1 | Column2 | Column3
Person  | Place   | Time

セカンドテーブル

Column1 | Column2 | Column3
        |         | 

後:

 Column1 | Column2 | Column3
 Person  | Place   | Time

セカンドテーブル

 Column1 | Column2 | Column3
 Person  | Place   | Time

どうすればこれを行うことができますか?

ありがとう!

4

1 に答える 1

1

これは実際には問題ではありません。これはNSTableViewプログラム設計の問題です。あなたのは何をNSTableView表示しますか?データ。選択したオブジェクトを1つのテーブルビューで取得して別のテーブルビューに表示するには、選択されているデータオブジェクトを特定し、それを他のテーブルビューのデータセットに追加して、そこにも表示されるようにする必要があります。

バインディングを使用しているようです。その場合は、2番目のテーブルビューを、そこに表示する必要のあるオブジェクトを追跡する配列コントローラーにバインドする必要があります。そのアレイコントローラをコンテンツセットにバインドする必要があるかどうかは、アプリケーションによって異なります。

したがって、選択したアイテムを取得するには、のselectedObjectsメソッドを確認してくださいNSArrayController。これにより、現在選択されているオブジェクトの配列が得られます。次に、選択したオブジェクトを2番目のテーブルビューのアレイコントローラーに追加する必要があります。これを行うと、バインディングは魔法のように機能し、テーブルビューを自動的に更新します。

于 2009-11-12T17:28:28.753 に答える