編集中に日付の自動補完を行いたくない
対象製品
SPREAD for Windows Forms 8.0J
詳細
GcDateTime型セルのデフォルト設定では、編集中に日付の自動補完はされません。
日付時刻型セルのデフォルト設定では、空白セルへの入力を開始すると自動的にシステム日付(またはDefaultDateプロパティによるデフォルト日付)が設定されます。例えば、DefaultDateプロパティに「2010/04/02」が設定されている場合、空白セルに「2」を入力した時点で「2010/04/02」が自動的に補完されます。
この入力時の自動補完機能を抑制するには、日付型セルのSimpleEditプロパティをTrueに設定します。SimpleEditプロパティを有効にすることで、編集終了時に入力した文字列が評価され日付時刻として認識できる場合のみ値が確定します。
  メモ
◎サンプルコード(VB)
◎サンプルコード(C#)
日付時刻型セルのデフォルト設定では、空白セルへの入力を開始すると自動的にシステム日付(またはDefaultDateプロパティによるデフォルト日付)が設定されます。例えば、DefaultDateプロパティに「2010/04/02」が設定されている場合、空白セルに「2」を入力した時点で「2010/04/02」が自動的に補完されます。
この入力時の自動補完機能を抑制するには、日付型セルのSimpleEditプロパティをTrueに設定します。SimpleEditプロパティを有効にすることで、編集終了時に入力した文字列が評価され日付時刻として認識できる場合のみ値が確定します。
  メモ
- 使用できる日付書式は.NET Frameworkの仕様に準じるため、和暦の年を表す書式フィールドに「e」や「ee」は使用できません。
- 編集確定時に日付認識できない場合、編集の前の値に戻ります。
- 「gg」等の和暦を表示させた場合に"H"(平成)や"S"(昭和)の入力で自動的に年号を入力する機能はSimpleEditプロパティがTrueの状態では有効になりません。
◎サンプルコード(VB)
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
' 入力途中に自動補完しない設定
Dim seddt As New FarPoint.Win.Spread.CellType.DateTimeCellType
seddt.SimpleEdit = True
FpSpread1.Sheets(0).Columns(0).CellType = seddt
FpSpread1.Sheets(0).Cells(0, 0).Value = Date.Now
' 入力途中に自動補完される設定(デフォルト)
Dim gndt As New FarPoint.Win.Spread.CellType.DateTimeCellType
FpSpread1.Sheets(0).Columns(1).CellType = gndt
FpSpread1.Sheets(0).Cells(0, 1).Value = Date.Now
FpSpread1.ActiveSheet.Columns(0).Width = 100
FpSpread1.ActiveSheet.Columns(1).Width = 100
FpSpread1.ActiveSheet.Columns(0).BackColor = Color.Lavender
End Sub
' 入力途中に自動補完しない設定
Dim seddt As New FarPoint.Win.Spread.CellType.DateTimeCellType
seddt.SimpleEdit = True
FpSpread1.Sheets(0).Columns(0).CellType = seddt
FpSpread1.Sheets(0).Cells(0, 0).Value = Date.Now
' 入力途中に自動補完される設定(デフォルト)
Dim gndt As New FarPoint.Win.Spread.CellType.DateTimeCellType
FpSpread1.Sheets(0).Columns(1).CellType = gndt
FpSpread1.Sheets(0).Cells(0, 1).Value = Date.Now
FpSpread1.ActiveSheet.Columns(0).Width = 100
FpSpread1.ActiveSheet.Columns(1).Width = 100
FpSpread1.ActiveSheet.Columns(0).BackColor = Color.Lavender
End Sub
◎サンプルコード(C#)
private void Form1_Load(object sender, EventArgs e)
{
// 入力途中に自動補完しない設定
FarPoint.Win.Spread.CellType.DateTimeCellType seddt = new FarPoint.Win.Spread.CellType.DateTimeCellType();
seddt.SimpleEdit = true;
fpSpread1.Sheets[0].Columns[0].CellType = seddt;
fpSpread1.Sheets[0].Cells[0, 0].Value = System.DateTime.Now;
// 入力途中に自動補完される設定(デフォルト)
FarPoint.Win.Spread.CellType.DateTimeCellType gndt = new FarPoint.Win.Spread.CellType.DateTimeCellType();
fpSpread1.Sheets[0].Columns[1].CellType = gndt;
fpSpread1.Sheets[0].Cells[0, 1].Value = System.DateTime.Now;
fpSpread1.ActiveSheet.Columns[0].Width = 100;
fpSpread1.ActiveSheet.Columns[1].Width = 100;
fpSpread1.ActiveSheet.Columns[0].BackColor = Color.Lavender;
}
{
// 入力途中に自動補完しない設定
FarPoint.Win.Spread.CellType.DateTimeCellType seddt = new FarPoint.Win.Spread.CellType.DateTimeCellType();
seddt.SimpleEdit = true;
fpSpread1.Sheets[0].Columns[0].CellType = seddt;
fpSpread1.Sheets[0].Cells[0, 0].Value = System.DateTime.Now;
// 入力途中に自動補完される設定(デフォルト)
FarPoint.Win.Spread.CellType.DateTimeCellType gndt = new FarPoint.Win.Spread.CellType.DateTimeCellType();
fpSpread1.Sheets[0].Columns[1].CellType = gndt;
fpSpread1.Sheets[0].Cells[0, 1].Value = System.DateTime.Now;
fpSpread1.ActiveSheet.Columns[0].Width = 100;
fpSpread1.ActiveSheet.Columns[1].Width = 100;
fpSpread1.ActiveSheet.Columns[0].BackColor = Color.Lavender;
}
キーワード
セル型