組み込みエディタでは多くの柔軟性と機能が提供されていますが、場合によっては外部コントロールを特別なエディタとして使用できます。たとえば、数値入力用ドロップダウン電卓を提供する C1NumericEdit コントロール、複数列リストから選択するためのエディタ、またはビジネスオブジェクトの編集用に自分で記述した特別なコントロールを使用できます。
注意:C1NumericEdit コントロールは Input for WinForms コントロールの1つです。C1NumericEdit コントロールの詳細については、Input for WinForms のマニュアルから入手可能)を参照してください。
基本の Control クラスから派生するコントロールはすべて、基本グリッドエディタとして使用できます。IC1EmbeddedEditor インターフェースを実装するコントロールは、グリッドとのより優れた統合とより高度な機能を提供できます。IC1EmbeddedEditor インターフェースの詳細については、Editor プロパティを参照してください。
コントロールをカスタムエディタとして使用するには、Editor プロパティを使用し、このコントロールのインスタンスをグリッド列に関連付けるだけで済みます。コードでこれを行うには、Editor プロパティを使用します。それ以降は、コントロールはグリッドによって自動的に使用されます。
たとえば、C1NumericEdit コントロールをグリッドエディタとして使用するには、以下の手順に従います。
Visual Basic コードの書き方
Visual Basic |
コードのコピー
|
---|---|
' カスタムエディタをセットアップします。 Me.C1NumericEdit1.BorderStyle = BorderStyle.None Me.C1NumericEdit1.Visible = False |
C# コードの書き方
C# |
コードのコピー
|
---|---|
// カスタムエディタをセットアップします。 this.c1NumericEdit1.BorderStyle = BorderStyle.None; this.c1NumericEdit1.Visible = false; |
Visual Basic コードの書き方
Visual Basic |
コードのコピー
|
---|---|
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load ' カスタムエディタをグリッドに割り当てます。 Me.C1TrueDBGrid1.Columns(0).Editor = Me.C1NumericEdit1 End Sub |
C# コードの書き方
C# |
コードのコピー
|
---|---|
private void Form_Load(object sender, EventArgs e) { // カスタムエディタをグリッドに割り当てます。 this.c1TrueDBGrid1.Columns[0].Editor = this.c1NumericEdit1; } |
プロジェクトを実行し、最初の列のいくつかの値を編集します。グリッドが C1NumericEdit コントロールをどのように配置して初期化してセル値を編集できるようにするかに注意してください。セルの編集を完了したら、別のセルをクリックするか、[Tab]キーを押して次のセルに移動します。新しい値がこのセルに適用されていることに注意してください。