カレンダーの表示位置を設定しても正しく表示されないのはなぜですか?
対象製品
CalendarGrid for Windows Forms 1.0J
詳細
テンプレートの行数などを変更した後、ScrollIntoView、HitTestなどのメソッドで現在のカレンダーの表示位置を設定または取得しても正しい結果が戻らないことがあります。これは、カレンダーグリッドがテンプレートの変更にあわせて常に現在のカレンダーの表示位置を自動更新していないため、変更後の結果が現在のカレンダーにレンダリングされていないことが原因です。
カレンダーを操作するとき正しい結果を得るには、あらかじめPerformRenderメソッドを実行して明示的にカレンダーを更新してください。PerformRenderメソッドは更新が必要なときだけ画面をレンダリングしますので、呼び出しによってパフォーマンスに余分の影響を与えることはありません。
次のサンプルコードは、テンプレートの行数を変更した後、カレンダーを指定した位置にスクロールする方法を示します。
GcCalendarGrid1.Template.RowCount = 10
' カレンダーのビューを強制更新
GcCalendarGrid1.PerformRender()
GcCalendarGrid1.ScrollIntoView(New DateTime(2015, 12, 1))
カレンダーを操作するとき正しい結果を得るには、あらかじめPerformRenderメソッドを実行して明示的にカレンダーを更新してください。PerformRenderメソッドは更新が必要なときだけ画面をレンダリングしますので、呼び出しによってパフォーマンスに余分の影響を与えることはありません。
次のサンプルコードは、テンプレートの行数を変更した後、カレンダーを指定した位置にスクロールする方法を示します。
GcCalendarGrid1.Template.RowCount = 10
' カレンダーのビューを強制更新
GcCalendarGrid1.PerformRender()
GcCalendarGrid1.ScrollIntoView(New DateTime(2015, 12, 1))