実際に編集コントロールを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 件のコメント:
コメントを投稿