CalendarGridで任意の日付を選択するには、その日付をクリックするかキーボードのカーソルキー(矢印キー)を使ってセルのフォーカスを移動します。複数の日付を選択するには、マウスで複数の日付をドラッグするか、キーボードでShiftキーを押下したままカーソルキーを使ってセルのフォーカスを移動します。
既定ではCalendarGridではセル単位で選択操作が行われます。日付単位で選択するにはGcCalendarGrid.SelectionUnitプロパティをDateに変更します。
GcCalendarGrid1.SelectionUnit = GrapeCity.Win.CalendarGrid.SelectionUnit.Date
gcCalendarGrid1.SelectionUnit = GrapeCity.Win.CalendarGrid.SelectionUnit.Date;
CalendarGrid上で選択された日付は、GcCalendarGrid.SelectedDatesプロパティで参照できます。セルの場合はGcCalendarGrid.SelectedCellsプロパティです。
Imports GrapeCity.Win.CalendarGrid GcCalendarGrid1.AddSelection(New DateTime(2014, 1, 1)) GcCalendarGrid1.AddSelection(DateTime.Today) For Each item As DateTime In GcCalendarGrid1.SelectedDates Console.WriteLine(item.ToString()) Next For Each item As CalendarCellPosition In GcCalendarGrid1.SelectedCells Console.WriteLine(item.ToString()) Next
gcCalendarGrid1.AddSelection(new DateTime(2014, 1, 1)); gcCalendarGrid1.AddSelection(DateTime.Today); foreach (var item in gcCalendarGrid1.SelectedDates) { Console.WriteLine(item.ToString()); } foreach (var item in gcCalendarGrid1.SelectedCells) { Console.WriteLine(item.ToString()); }
コーディングによって日付を選択するには、GcCalendarGrid.AddSelectionメソッドを使用します。
Dim today As DateTime = DateTime.Today GcCalendarGrid1.AddSelection(today)
var today = DateTime.Today;
gcCalendarGrid1.AddSelection(today);
日付の選択を解除するには、GcCalendarGrid.RemoveSelectionメソッドを使用します。
Dim today As DateTime = DateTime.Today GcCalendarGrid1.AddSelection(today.AddDays(-1)) GcCalendarGrid1.AddSelection(today) GcCalendarGrid1.AddSelection(today.AddDays(1)) GcCalendarGrid1.RemoveSelection(today)
var today = DateTime.Today;
gcCalendarGrid1.AddSelection(today.AddDays(-1));
gcCalendarGrid1.AddSelection(today);
gcCalendarGrid1.AddSelection(today.AddDays(1));
gcCalendarGrid1.RemoveSelection(today);
画面に表示されているすべての日を選択するには、CalendarGridActions.SelectAll.Executeメソッドを使用します。
GrapeCity.Win.CalendarGrid.CalendarGridActions.SelectAll.Execute(GcCalendarGrid1)
GrapeCity.Win.CalendarGrid.CalendarGridActions.SelectAll.Execute(gcCalendarGrid1);
選択範囲が変更された時、GcCalendarGrid.SelectionChangedイベントが発生します。
Private Sub GcCalendarGrid1_SelectionChanged(sender As Object, e As EventArgs) Handles GcCalendarGrid1.SelectionChanged Console.WriteLine("SelectionChanged") End Sub
private void Form1_Load(object sender, EventArgs e) { gcCalendarGrid1.SelectionChanged += gcCalendarGrid1_SelectionChanged; } private void gcCalendarGrid1_SelectionChanged(object sender, EventArgs e) { Console.WriteLine("SelectionChanged"); }
日付またはセルの選択を禁止する機能はありません。
CalendarGridでは、ページスクロールの操作方法によって選択されたセルの保持状態が異なります。
タイトルヘッダまたはタイトルフッタに配置したタイトルボタンを使用してページスクロールを行うと、既存の選択は解除されます。たとえば、月カレンダーで今月の日をいくつか選択したあと、先月または翌月にページスクロールすると今月で選択した日の選択は自動的に解除されます。
次の操作でページスクロールをした場合は、既存の選択は保持されます。