UltraGrid でセルの中の長い文字列を折り返して表示させたい場合は、

  • 行の高さが中身に合わせて自動調整されるように DisplayLayout の Override の RowSizing に AutoFixed を設定する。
  • 列の CellMultiLine プロパティに True を設定する。

で実現できます。

例えば初期表示時にこれらの設定をしたい場合は、UltraGrid の InitalizeLayout イベントを使用するのがお勧めです。

private void ultraGrid1_InitializeLayout(object sender, Infragistics.Win.UltraWinGrid.InitializeLayoutEventArgs e)
{
    // 行の高さが中身に合わせて自動調整されるように、DisplayLayout の Override の RowSizing に AutoFixed を設定する。
    // ※この設定をしないと、テキストは折り返されて表示されるものの、行に1行分の高さしか割り当てられず、
    // ※非常に見にくい結果になってしまいます。
    e.Layout.Override.RowSizing = Infragistics.Win.UltraWinGrid.RowSizing.AutoFixed;

    // 以下のコードは「Excerpt」列で折り返して表示させたいという想定です。
    e.Layout.Bands[0].Columns["Excerpt"].CellMultiLine = Infragistics.Win.DefaultableBoolean.True;
}

 

実行結果

 

 

API リファレンス

 

Tagged:

製品について

Ultimate UI for Windows Forms