2007年8月24日金曜日

伝票レイアウトセル(2) 編集コントロール その4

編集コントロールでもう一つどうしても必要になる処理があるんだよね。それは、

「編集開始時にDataGridViewのEditingPanelに編集コントロールを追加する」

という処理。本来はIDataGridViewEditingControlを継承しているクラスは「単一コントロール」を継承して実装されている
のが殆どなので、DataGridView側で編集開始時にこのクラスのインスタンスをEditingPanelに自動で追加してくれているんだよね。
でも今回やろうとしている伝票レイアウトセルは、「UserControlを継承し、実際に利用するインスタンスはプロパティで設定」という
仕組みにしようとしているので、このあたりにも手を入れる必要があるのよ。

プロパティで定義させようとしているのは、簡単に言ってAP側で明細セルのデザインができる環境にしたかったから。
デザインする必要が無いなら、Dll側で既にデザインされたコントロールとIDataGridViewEditingControlを継承した
クラスを用意してしまえば事足りるのよね。

ちなみにDataGridViewの仕組みとして編集が開始されると、内部で保持しているEditingPanelというPanelコントロールに対して、
実際に編集に用いるコントロールが動的に作成される。そしてその動的に作成されたコントロールがDataGridView.EditingControl
プロパティで参照できるコントロール、という訳で。

ということでこういった処理をするメソッドを、Protected Friend あたりで指定した状態で用意しておく必要がありやす。

処理の中身は次の記事で。

0 件のコメント:

コメントを投稿