作成日: 2016/03/29 最終更新日: 2016/05/18
文書種別
不具合
状況
修正済み
詳細
列がソートされていない状態で、以下のようにC1FlexGridのSortColumnプロパティを参照すると、以下のようなArgumentOutOfRangeExceptionの例外が発生します。
(例外の内容)
「型 'System.ArgumentOutOfRangeException' のハンドルされていない例外が mscorlib.dll で発生しました
追加情報:インデックスが範囲を超えています。負でない値で、コレクションのサイズよりも小さくなければなりません。」
(例外の内容)
「型 'System.ArgumentOutOfRangeException' のハンドルされていない例外が mscorlib.dll で発生しました
追加情報:インデックスが範囲を超えています。負でない値で、コレクションのサイズよりも小さくなければなりません。」
回避方法
この問題はバージョン2.0.20161.147または4.0.20161.147で修正されました。
修正版の適用方法については、アップデートの方法を参照してください。
修正版を適用しない場合の回避方法は次の通りです。
事前にソート列が存在するかどうかを調べます。
◎サンプルコード(VB)
◎サンプルコード(C#)
修正版の適用方法については、アップデートの方法を参照してください。
修正版を適用しない場合の回避方法は次の通りです。
事前にソート列が存在するかどうかを調べます。
◎サンプルコード(VB)
Dim isSort As Boolean = False For Each col As C1.Win.C1FlexGrid.Column In Me.C1FlexGrid1.Cols If col.Sort <> C1.Win.C1FlexGrid.SortFlags.None Then isSort = True Exit For End If Next If isSort Then Dim cl = Me.C1FlexGrid1.SortColumn End If
◎サンプルコード(C#)
bool isSort = false;
foreach (C1.Win.C1FlexGrid.Column col in this.C1FlexGrid1.Cols) {
if (col.Sort != C1.Win.C1FlexGrid.SortFlags.None) {
isSort = true;
break;
}
}
if (isSort) {
dynamic cl = this.C1FlexGrid1.SortColumn;
}
旧文書番号
81602