DateTimePickerCell の初期値を入力値として自動的に確定する方法

文書番号 : 25899     文書種別 : 使用方法     最終更新日 : 2008/06/25
文書を印刷する
対象製品
MultiRow for Windows Forms 5.0J
詳細
DateTimePickerCell の既定の動作では、セルの編集時に初期値として現在の日時が表示されます。この初期値は、セルの値を明示的に入力しない限りセルの値として保存されません。これは DateTimePicker コントロールを継承する DateTimePickerEditingControl の動作によるものです。

DateTimePickerCell に表示される初期値をそのまま入力値として適用するには、セルの編集が完了したタイミングで、初期値を持つ DateTimePickerCell に対して、明示的に値を入力する処理を行ってください。

[Visual Basic]
Imports GrapeCity.Win.MultiRow

Private Sub GcMultiRow1_CellEndEdit(ByVal sender As System.Object, ByVal e As GrapeCity.Win.MultiRow.CellEndEditEventArgs) Handles GcMultiRow1.CellEndEdit
  Dim gcMultiRow As GcMultiRow = DirectCast(sender, GcMultiRow)
  If e.EditCanceled = False Then
    If TypeOf gcMultiRow.CurrentCell Is DateTimePickerCell Then
      If gcMultiRow.CurrentCell.Value Is Nothing Then
        gcMultiRow.CurrentCell.Value = Date.Now
      End If
    End If
  End If
End Sub


[C#]
using GrapeCity.Win.MultiRow;

private void gcMultiRow1_CellEndEdit(object sender, CellEndEditEventArgs e)
{
  GcMultiRow gcMultiRow = (GcMultiRow)sender;
  if (e.EditCanceled == false)
  {
    if (gcMultiRow.CurrentCell is DateTimePickerCell)
    {
      if (gcMultiRow.CurrentCell.Value == null)
      {
        gcMultiRow.CurrentCell.Value = DateTime.Now;
      }
    }
  }
}

関連情報

この文書は、以前は次のFAQ IDで公開されていました : 11279