如何設定 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. 執行程式,可以看到順利換行並且調整列高讓資料可以全部顯示


