2007年8月24日金曜日

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

実際に編集コントロールをEditingPanelに追加するってのは、まぁ言葉通りだったりする。

Me._parentDataGridView.EditingPanel.SuspendLayout()
With Me._parentDataGridView.EditingPanel
    With .Controls
        .Clear()
        .Add(subEditorInstance)
    End With
    .Location = Me._parentDataGridView.PointToClient(cellPoint)
End With
Me._parentDataGridView.EditingPanel.ResumeLayout()

書いてしまえばこれだけなんだな、実は。EditingPanel自体はDataGridViewの編集に関わるほぼ全てで利用される
ので一度Clearしてあげてから、実際に表示したいコントロールをAddしてあげる。それでもってちょっと表示位置を
調整してあげたりすればもうOKだね。

ちなみにこれと逆に編集が終了した時の処理ってのは、DataGridViewCell.DetachEditingControlメソッド。
これが編集が終了して、ホストしているコントロールを解放してあげる処理ってわけだ。
後々このメソッドもオーバーライドする必要は出てくるんだけどね。

それはまた後ほど。

0 件のコメント:

コメントを投稿