編集コントロールでもう一つどうしても必要になる処理があるんだよね。それは、
「編集開始時にDataGridViewのEditingPanelに編集コントロールを追加する」
という処理。本来はIDataGridViewEditingControlを継承しているクラスは「単一コントロール」を継承して実装されている
のが殆どなので、DataGridView側で編集開始時にこのクラスのインスタンスをEditingPanelに自動で追加してくれているんだよね。
でも今回やろうとしている伝票レイアウトセルは、「UserControlを継承し、実際に利用するインスタンスはプロパティで設定」という
仕組みにしようとしているので、このあたりにも手を入れる必要があるのよ。
プロパティで定義させようとしているのは、簡単に言ってAP側で明細セルのデザインができる環境にしたかったから。
デザインする必要が無いなら、Dll側で既にデザインされたコントロールとIDataGridViewEditingControlを継承した
クラスを用意してしまえば事足りるのよね。
ちなみにDataGridViewの仕組みとして編集が開始されると、内部で保持しているEditingPanelというPanelコントロールに対して、
実際に編集に用いるコントロールが動的に作成される。そしてその動的に作成されたコントロールがDataGridView.EditingControl
プロパティで参照できるコントロール、という訳で。
ということでこういった処理をするメソッドを、Protected Friend あたりで指定した状態で用意しておく必要がありやす。
処理の中身は次の記事で。
0 件のコメント:
コメントを投稿