作成日: 2017/12/14 最終更新日: 2018/05/10
文書種別
不具合
状況
修正済み
詳細
該当列のFrozenプロパティがTrueに設定されているときにGetCellBoundsメソッドを実行すると例外が発生します。
回避方法
この問題はバージョン4.0.20181.303で修正されました。
※修正版を適用しない場合の回避方法は以下の通りです。
GetCellBoundsの前処理でFrozenプロパティをFlaseに設定し、GetCellBounds後にFrozenプロパティを戻すことで例外を回避できます。
◎サンプルコード(VB)
◎サンプルコード(C#)
※修正版を適用しない場合の回避方法は以下の通りです。
GetCellBoundsの前処理でFrozenプロパティをFlaseに設定し、GetCellBounds後にFrozenプロパティを戻すことで例外を回避できます。
◎サンプルコード(VB)
' Frozenプロパティの保存と解除
Dim colInfo As Boolean() = New Boolean(C1TrueDBGrid1.Splits(0).DisplayColumns.Count - 1) {}
For i As Integer = 0 To C1TrueDBGrid1.Splits(0).DisplayColumns.Count - 1
colInfo(i) = C1TrueDBGrid1.Splits(0).DisplayColumns(i).Frozen
C1TrueDBGrid1.Splits(0).DisplayColumns(i).Frozen = False
Next
' 矩形の取得
Dim rect As Rectangle = C1TrueDBGrid1.Splits(0).GetCellBounds(0, 0)
' Frozenプロパティの復元
For i As Integer = 0 To C1TrueDBGrid1.Splits(0).DisplayColumns.Count - 1
C1TrueDBGrid1.Splits(0).DisplayColumns(i).Frozen = colInfo(i)
Next
Dim colInfo As Boolean() = New Boolean(C1TrueDBGrid1.Splits(0).DisplayColumns.Count - 1) {}
For i As Integer = 0 To C1TrueDBGrid1.Splits(0).DisplayColumns.Count - 1
colInfo(i) = C1TrueDBGrid1.Splits(0).DisplayColumns(i).Frozen
C1TrueDBGrid1.Splits(0).DisplayColumns(i).Frozen = False
Next
' 矩形の取得
Dim rect As Rectangle = C1TrueDBGrid1.Splits(0).GetCellBounds(0, 0)
' Frozenプロパティの復元
For i As Integer = 0 To C1TrueDBGrid1.Splits(0).DisplayColumns.Count - 1
C1TrueDBGrid1.Splits(0).DisplayColumns(i).Frozen = colInfo(i)
Next
◎サンプルコード(C#)
// Frozenプロパティの保存と解除
bool[] colinfo = new bool[c1TrueDBGrid1.Splits[0].DisplayColumns.Count];
for (int i = 0; i < c1TrueDBGrid1.Splits[0].DisplayColumns.Count; i++)
{
colinfo[i] = c1TrueDBGrid1.Splits[0].DisplayColumns[i].Frozen;
c1TrueDBGrid1.Splits[0].DisplayColumns[i].Frozen = false;
}
// 矩形の取得
Rectangle rect = c1TrueDBGrid1.Splits[0].GetCellBounds(0, 0);
// Frozenプロパティの復元
for (int i = 0; i < c1TrueDBGrid1.Splits[0].DisplayColumns.Count; i++)
{
c1TrueDBGrid1.Splits[0].DisplayColumns[i].Frozen = true;
}
bool[] colinfo = new bool[c1TrueDBGrid1.Splits[0].DisplayColumns.Count];
for (int i = 0; i < c1TrueDBGrid1.Splits[0].DisplayColumns.Count; i++)
{
colinfo[i] = c1TrueDBGrid1.Splits[0].DisplayColumns[i].Frozen;
c1TrueDBGrid1.Splits[0].DisplayColumns[i].Frozen = false;
}
// 矩形の取得
Rectangle rect = c1TrueDBGrid1.Splits[0].GetCellBounds(0, 0);
// Frozenプロパティの復元
for (int i = 0; i < c1TrueDBGrid1.Splits[0].DisplayColumns.Count; i++)
{
c1TrueDBGrid1.Splits[0].DisplayColumns[i].Frozen = true;
}
旧文書番号
82470