2013-05-06 66 views
2

我想調整一個DataGridViewCell比autosize更小的寬度。例如,在一列中只有「A」或什麼都不可能,但是如果我調整列的大小(手動或編程方式無關緊要),字符串將被「截斷」爲「A ...」 。DataGridView - 禁止字符串的切斷

有沒有辦法抑制這種行爲?我只是希望「A」恰好適合該單元格的邊界,以便提供儘可能多的數據。

編輯:只是爲了讓我的問題清楚:autosize在列的每一側留下了一小撮空白空間。

+0

我想你應該嘗試設置'dataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.DisplayedCells' – V4Vendetta 2013-05-06 09:36:03

+0

不幸的是,這是不是我要找的向下鑽取。自動化的柱子看起來不錯,但對我來說,它們帶走了太多的空間。 – 2013-05-06 09:44:29

+0

你確定它只是'A'嗎?我相信你可能會在'A'之後留下空格。也許你應該在顯示它們之前修剪這些值。 – 2013-05-06 09:59:06

回答

2

您應該修剪這些值。可能在A後面有空白空格。這裏有一個簡短的演示這也解釋了行爲:

dataGridView1.DataSource = new[] { 
    new{A="A    "}, 
    new{A="A"}, 
    new{A=""} 
}; 

調整大小後,你會看到,只有第一行的小圓點。

或者,您可以嘗試設置列的包裝模式,填充,對齊和寬度:

dataGridView1.Columns[0].DefaultCellStyle.WrapMode = DataGridViewTriState.True; 
dataGridView1.Columns[0].DefaultCellStyle.Padding =new Padding(0); 
dataGridView1.Columns[0].DefaultCellStyle.Alignment = 
    DataGridViewContentAlignment.MiddleCenter; 
dataGridView1.Columns[0].Width = (int)this.Font.Size * 96/72; 
+1

你讓我的一天! WrapMode是'nonSet' – 2013-05-06 11:21:36

0

給數據源後,以grid.Please把這個代碼來自動調整大小根據單元格的寬度數據。

dataGridView1.AutoResizeColumns(DataGridViewAutoSizeColumnsMode.Fill); 

查看詳細,您可以在該鏈接

Reference link