編集中のセルの値を取得するには?
対象製品
MultiRow for Windows Forms 5.0J
詳細
セルが入力中の場合(GcMultiRow.IsCurrentCellInEditMode=True)や、常時入力モード(GcMultiRow.EditMode=EditMode.EditOnEnter)の場合、またセルの入力が確定していないイベントでセルの値を参照すると、表示されている値と取得できる値とが一致しない場合があります。
これは、入力中の値が確定しておらず、Cell.Value プロパティには入力前の値が格納されていることが原因と考えられます。
編集中のセルの値を取得するには、次のような方法があります。
これは、入力中の値が確定しておらず、Cell.Value プロパティには入力前の値が格納されていることが原因と考えられます。
編集中のセルの値を取得するには、次のような方法があります。
- Cell.EditedFormattedValue プロパティの値を参照する。このプロパティには、編集中の値が格納されます。
- イベントで e.FormattedValue プロパティの値を利用する。セルの値を検証する GcMultiRow.CellValidating イベントでは検証待ちの値を参照するためにこのプロパティを利用できます。
- GcMultiRow.EditingControl のプロパティを参照する。セル編集コントロール(EditingControl)が提供されているセル型では、フォーム上のコントロールを操作する場合と同じように GcMultiRow.EditingControl プロパティを通してコントロールの値に直接アクセスできます。たとえば、フォーム上の TextBox コントロールでは TextBox.Text プロパティで値を参照できますが、TextBoxCell の TextBoxEditingControl は TextBox を継承しているため、TextBoxEditingControl.Text で編集中の値を参照できます。この例から分かるように、セル編集コントロールに対するコーディングはセル編集コントロールの型やコントロールの実装によって異なります。
この文書は、以前は次のFAQ IDで公開されていました : 11749