[Devexpress] GridControl Column Header 換行

有時候Grid Column Header需要顯示比較多的資訊

這時候方便User了解,會有Header 需要Multiple Line的狀況

但是有幾個地方需要設定,就在這裡紀錄一下

在程式碼的地方大概只有一個重點

就是在設定DataTable的Column Caption 要記得加上Environment.NewLine
private DataTable GetDataSource()
{
    DataTable dtl = new DataTable();
    dtl.Columns.Add("Col1");
    dtl.Columns.Add("Col2");
    dtl.Columns.Add("Col3");
    dtl.Columns.Add("Col4");

    var dr = dtl.NewRow();
    dr["Col1"] = "A";
    dr["Col2"] = "B";
    dr["Col3"] = "C";
    dr["Col4"] = "D";

    dtl.Rows.Add(dr);

    dtl.Columns["Col1"].Caption = $"欄位1{Environment.NewLine}Col1";
    dtl.Columns["Col2"].Caption = $"欄位2{Environment.NewLine}Col2";
    dtl.Columns["Col3"].Caption = $"欄位3{Environment.NewLine}Col3";
    dtl.Columns["Col4"].Caption = $"欄位4{Environment.NewLine}Col4";

    return dtl;
}	

跑出來的結果大概就是如下圖

至於Grid設定有兩個地方 需要註記一下

1.Apperance\HeaderPanel\TextOptions\WordWrap 要設定為True

2.OptionsView\ColumnHeaderAutoHeight 需要設定為True 

這樣就可以顯示多行了~

程式碼放在 GitHub 上,有需要可以下載來玩~

前提是要有Devexpress 17.1 的套件才能編輯,不然只能點exe來看結果而已

-----------------------------------------

有時在會走之前你就得跑

你不解決問題 就等問題解決你