MESCIUS SPREAD for Windows Forms 17.0J
ポップアップカレンダー

このトピックでは、日付時刻型セルからポップアップされるカレンダーおよびクロックコントロールについて解説します。InputManセルのGcDateTime型セルのカレンダーについては「ドロップダウンカレンダー(GcDateTime型セル) 」をご参照ください。

編集モードで[F4]キーを押すか、または日付時刻型セルをダブルクリックすると、ポップアップカレンダー(またはポップアップクロック)が表示されます。DateTimeCellTypeクラスのDateTimeFormatプロパティを「TimeOnly」以外の形式に設定している場合、カレンダーコントロールが表示されます。「TimeOnly」に設定している場合、クロックコントロールが表示されます。カレンダーから選択した日付(またはクロックから選択した時刻)は、日付時刻型セルに入力されます。現在の日付を表示するには、カレンダーコントロールの[今日]をクリックします。現在の時刻を表示するには、クロックコントロールの[現在時刻]をクリックします。

ポップアップ カレンダー コントロール ポップアップ クロック コントロール
ポップアップカレンダー ポップアップ時計

日と月の名前には、通常の名前と短縮名を設定できます。また、コントロール下部の各ボタンに使用するテキストも指定できます。 これらを設定するには、DateTimeCellTypeクラスのSetCalendarTextメソッドを使用します。

ボタン内のテキストは、中央揃えで表示されることに注意してください。また、ボタンテキストは8または9文字以内に収めるようにしてください。ボタンには最大10文字を表示できますが、この場合、先頭および末尾の文字とボタンの端との間の余白がなくなってしまいます。

これらのコントロールの使用中は、〈OK〉または〈キャンセル〉ボタンのクリックのみによってコントロールを閉じることができます。〈今日〉または〈現在時刻〉ボタンは、現在の日付値または時刻値をセル内に設定するだけです。

日付時刻型セルの書式には、DateTimeFormat列挙体の値を設定します。

設定方法

DateTimeCellTypeクラスのインスタンスを作成して、クラスのプロパティを使用してボタンのテキスト、曜日および月の名前を設定します。セルに設定する場合はCellクラスの、行に設定する場合はRowクラスの、列に設定する場合はColumnクラスの、あるいはスタイルに設定する場合はStyleInfoクラスのCellTypeプロパティに、定義したDateTimeCellTypeクラスのインスタンスを割り当てます。

サンプルコード

次のサンプルコードは、ボタンのテキストを設定し、日と月の名前を配列で指定します。

C#
コードのコピー
FarPoint.Win.Spread.CellType.DateTimeCellType datecell = new FarPoint.Win.Spread.CellType.DateTimeCellType();
string[] daynames = {"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"};
string[] months = {"January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"};
string[] dayabbrev = {"Su","My","Ty","Wy","Th","Fy","Sy"};
string[] mthabbrev = {"Jy","Fy","Mh","Al","My","Jn","Jl","At","Sr","Or","Nr","Dr"};
string okbuttn = "Fine";
string cancelb = "Quit";
datecell.DateTimeFormat = FarPoint.Win.Spread.CellType.DateTimeFormat.UserDefined;
datecell.UserDefinedFormat = "dddd MMMM d, yyyy";
datecell.SetCalendarText(daynames,months,dayabbrev,mthabbrev,okbuttn, cancelb);
fpSpread1.ActiveSheet.Cells[1, 1].CellType = datecell;
fpSpread1.ActiveSheet.Cells[1, 1].Value = System.DateTime.Now;
fpSpread1.ActiveSheet.Columns[1].Width = 130;
Visual Basic
コードのコピー
Dim datecell As New FarPoint.Win.Spread.CellType.DateTimeCellType() Dim daynames() As String = {"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday" } Dim months() As String = {"January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"} Dim dayabbrev() As String = {"Su","My","Ty","Wy","Th","Fy","Sy"} Dim mthabbrev() As String = {"Jy","Fy","Mh","Al","My","Jn","Jl","At","Sr","Or","Nr","Dr"} Dim okbuttn As String = "Fine" Dim cancelb As String = "Quit"
datecell.DateTimeFormat = FarPoint.Win.Spread.CellType.DateTimeFormat.UserDefined
datecell.UserDefinedFormat = "dddd MMMM d, yyyy"
datecell.SetCalendarText(daynames,months,dayabbrev,mthabbrev,okbuttn, cancelb)
FpSpread1.ActiveSheet.Cells(1, 1).CellType = datecell
FpSpread1.ActiveSheet.Cells(1, 1).Value = System.DateTime.Now
FpSpread1.ActiveSheet.Columns(1).Width = 130

SPREAD デザイナの使用

  1. 作業領域内のセルまたはセル範囲を選択します。
  2. プロパティリストの[その他]カテゴリーから、CellTypeプロパティを選択します。 ドロップダウンリストからセル型を選択します。 これによってCellTypeプロパティが展開され、このセル型に固有のさまざまなプロパティが表示されます。 このリストから、必要に応じてプロパティを選択および設定します。
    または、セルまたはセル範囲を右クリックして[セル型]を選択します。 セル型の一覧からセル型を選択します。 セル型エディタで、必要なプロパティを設定します。 [適用]ボタンをクリックします。
  3. [ファイル]メニューから[適用して終了]を選択し、変更をコンポーネントに適用して SPREAD デザイナを終了します。
参照

 

 


© MESCIUS inc. All rights reserved.