「Xamarin.MacのNSTableViewでNSTableViewSourceを使う」の版間の差分

110行目: 110行目:
                 tableview.ScrollRowToVisible(clickedrow);
                 tableview.ScrollRowToVisible(clickedrow);
             };
             };
        }
</source>
===セル編集===
Interface Builderを開き、各カラムに「Editable」のチェックを入れる(最初から入っていると思う)。
設定対象はカラムでありセルじゃないよ(Identity Inspectorを開くとクラスがNSTableColumnとなってるやつ)。
多分こんな構造になっているはず
*NSTableView
**NSTableColumn ←これに「Editable」を設定する
***NSTextFieldCell
次にデータソースの以下のメソッドをオーバーライドし「true」を返すようにする。
前述のEditableのチェックをしておくことでこのメソッドが呼ばれるようになり、このメソッドでtrueを返すと実際に編集が可能な状態となるようだ。
<source lang="csharp">
    public class StudyTableViewSource : NSTableViewSource, IList<Study>
    {
        // 〜〜〜省略〜〜〜
        public override bool ShouldEditTableColumn(NSTableView tableView, NSTableColumn tableColumn, int row)
        {
            return true;
         }
         }
</source>
</source>