如何設定 DataGridView 控制項的資料,遇到換行符號時會換行顯示?

  • 12310
  • 0
  • 2011-11-09

如何設定 DataGridView 控制項的資料,遇到換行符號時會換行顯示?

 

問題的來龍去脈

在 DataGridView 新增 Row,如下程式碼

DataGridView1.Rows.Add("微軟" & System.Environment.NewLine & "一點通")

希望遇到換行符號時可以顯示換行,但是顯示出來的情況並沒有換行,換行符號的部分顯示空白隔開,如下圖所示,我該如何設定控制項 DataGridView 的資料,遇到換行符號時會換行顯示?

 

 

問題的發生原因

我們需要設定 DataGridView 的 DefaultCellStyle 屬性,選擇我們所要使用的換行模式。

 

問題的解決方法

1. 在 DataGridView 新增 Row 時,加入以下程式碼設定 DataGridView 的 DefaultCellStyle 屬性

        DataGridView1.Rows.Add("微軟" & System.Environment.NewLine & "一點通")
        DataGridView1.DefaultCellStyle.WrapMode = DataGridViewTriState.True

2. 執行程式,可以看到已經可以換行

3. 但我們發現由於換行的關係,可能因為高度不夠導致資料內容顯示不完全,我們可以透過使用 DataGridView.AutoResizeColumns() 方法以及設定 DataGridView.AutoSizeRowsMode 屬性來自動調整高度,參考以下程式碼

        DataGridView1.Rows.Add("微軟" & System.Environment.NewLine & "一點通")
        DataGridView1.DefaultCellStyle.WrapMode = DataGridViewTriState.True

        DataGridView1.AutoResizeColumns()
        DataGridView1.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.DisplayedCellsExceptHeaders

4. 執行程式,可以看到順利換行並且調整列高讓資料可以全部顯示

 

其他相關資訊

1. Windows Form DataGridView 控制項中的調整大小選項

2. HOW TO:格式化 Windows Form DataGridView 控制項中的資料