作成日: 2026/01/21 最終更新日: 2026/01/21
文書種別
不具合
発生環境
.NET 8
状況
回避方法あり
詳細
バンドビューを設定したFlexGridで、各列のStarWidthを用いて列幅を比率で表示しても、セルの編集、行の追加や削除、並べ替えなどを行うと、列幅の比率が保持されずデフォルトに戻ります。
回避方法
各操作の後で StarWidth に基づいた列幅を設定し直すよう、イベントハンドラを設定します。
◎サンプルコード(C#)
c1FlexGrid1.AfterSort += (s, e) = SetStarWidth();
c1FlexGrid1.AfterEdit += (s, e) = SetStarWidth();
c1FlexGrid1.AfterAddRow += (s, e) = SetStarWidth();
c1FlexGrid1.AfterFilter += (s, e) = SetStarWidth();
c1FlexGrid1.AfterDeleteRow += (s, e) = SetStarWidth();
private void SetStarWidth()
{
c1FlexGrid1.Cols[0].StarWidth = "5*";
c1FlexGrid1.Cols[1].StarWidth = "2*";
c1FlexGrid1.Cols[2].StarWidth = "3*";
c1FlexGrid1.Cols[3].StarWidth = "*";
}