実行時に列ヘッダ領域のセル設定を変更した後テンプレートの行数を減らすと例外が発生する

文書番号 : 38985     文書種別 : 不具合     登録日 : 2015/07/06     最終更新日 : 2015/11/06
文書を印刷する
対象製品
CalendarGrid for Windows Forms 1.0J
状況
修正済み
詳細
実行時に列ヘッダ領域のセルのプロパティ(Value、CellStyleなど)を変更した後、TemplateのRowCountプロパティに現在の値より小さい値を設定すると、次の例外(IndexOutOfRangeException)が発生します。

<エラー情報>
型 'System.IndexOutOfRangeException' のハンドルされていない例外が GrapeCity.Win.CalendarGrid.v10.dll で発生しました
追加情報:インデックスが配列の境界外です。

以下は、エラーが発生するコードの一例です。

[サンプルコード]

' 列ヘッダの設定を変更
Me.GcCalendarGrid1.ColumnHeader(0).Rows(0).Cells(0).CellStyle.ForeColor = Color.Red
' 行数を現在値より小さくする
Me.GcCalendarGrid1.Template.RowCount = 3
回避方法
この問題はService Pack 2(v1.0.2015.1106)で修正されました。
不具合を修正した最新のサービスパックは、アップデートページ からダウンロードできます。

また、テンプレートのクロンを作成して、そのRowCountを変更した後GcMultiRowに割り当てることで回避できます。

[サンプルコード]

' 列ヘッダの設定を変更
Me.GcCalendarGrid1.ColumnHeader(0).Rows(0).Cells(0).CellStyle.ForeColor = Color.Red
' テンプレートのクロンを使って行数を変更する
Dim template As CalendarTemplate = Me.GcCalendarGrid1.Template.Clone
template.RowCount = 3
Me.GcCalendarGrid1.Template = template
キーワード
CLDG11178