作成日: 2013/07/02 最終更新日: 2013/07/17
文書種別
不具合
状況
修正済み
詳細
ComboListプロパティを設定して、セルボタンやコンボボックスのドロップダウンボタンを表示しているとき、その列の境界線をダブルクリックしたり、AutoSizeColメソッドを実行したりして、列幅を自動調整すると、ボタンの幅が考慮されずに列幅の設定処理が行われるため、セルのテキストにボタンが重なって表示され、テキストがすべて表示されません。
回避方法
バージョン2.6.20132.781/4.6.20132.781のアセンブリで修正されました。
または、以下の方法で回避します。
BeforeAutosizeColumnイベントで列ヘッダをダブルクリックしたことにより列幅の自動調整が行われることを判定し、AfterResizeColumnで変更された列幅にセルボタンの幅を追加します。
◎サンプルコード(VB)
◎サンプルコード(C#)
または、以下の方法で回避します。
BeforeAutosizeColumnイベントで列ヘッダをダブルクリックしたことにより列幅の自動調整が行われることを判定し、AfterResizeColumnで変更された列幅にセルボタンの幅を追加します。
◎サンプルコード(VB)
Dim flg As Boolean = False
Private Sub C1FlexGrid1_BeforeAutosizeColumn(sender As System.Object, e As C1.Win.C1FlexGrid.RowColEventArgs) Handles C1FlexGrid1.BeforeAutosizeColumn
flg = True
End Sub
Private Sub C1FlexGrid1_AfterResizeColumn(sender As System.Object, e As C1.Win.C1FlexGrid.RowColEventArgs) Handles C1FlexGrid1.AfterResizeColumn
If flg = True Then
C1FlexGrid1.Cols(e.Col).WidthDisplay += 15
flg = False
End If
End Sub
Private Sub C1FlexGrid1_BeforeAutosizeColumn(sender As System.Object, e As C1.Win.C1FlexGrid.RowColEventArgs) Handles C1FlexGrid1.BeforeAutosizeColumn
flg = True
End Sub
Private Sub C1FlexGrid1_AfterResizeColumn(sender As System.Object, e As C1.Win.C1FlexGrid.RowColEventArgs) Handles C1FlexGrid1.AfterResizeColumn
If flg = True Then
C1FlexGrid1.Cols(e.Col).WidthDisplay += 15
flg = False
End If
End Sub
◎サンプルコード(C#)
Boolean flg = false;
private void c1FlexGrid1_BeforeAutosizeColumn(object sender, C1.Win.C1FlexGrid.RowColEventArgs e)
{
flg = true;
}
private void c1FlexGrid1_AfterResizeColumn(object sender, C1.Win.C1FlexGrid.RowColEventArgs e)
{
if (flg == true)
{
c1FlexGrid1.Cols[e.Col].WidthDisplay += 15;
flg = false;
}
}
private void c1FlexGrid1_BeforeAutosizeColumn(object sender, C1.Win.C1FlexGrid.RowColEventArgs e)
{
flg = true;
}
private void c1FlexGrid1_AfterResizeColumn(object sender, C1.Win.C1FlexGrid.RowColEventArgs e)
{
if (flg == true)
{
c1FlexGrid1.Cols[e.Col].WidthDisplay += 15;
flg = false;
}
}
旧文書番号
80225