2014-01-13 84 views
1

我有一个DataGridView。一些列保存长文本数据,所以我已经设置:我可以在DataGridView中只有换行符换行的列吗?

_dataGridView.DefaultCellStyle.WrapMode = DataGridViewTriState.True; 

这些列打破空格以及回车。

我想将列扩展为文本中最长的行,同时包装回车。所以不要包装在空间上。

我该怎么做?

添加这个不会做我想要的。

_dataGridView..AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells; 

回答

2

尝试调用:

_dataGridView.AutoResizeColumns(); 

后,您将数据源。

你也可以调整与选择特定的列:

_dataGridView.AutoResizeColumn(0, DataGridViewAutoSizeColumnMode.AllCellsExceptHeader); 

编辑,这个工作对我来说:

enter image description here

private void Form1_Load(object sender, EventArgs e) 
     { 
      List<MyClass> myList = new List<MyClass>(); 

      myList.Add(new MyClass() { URL ="AAAAAAAAAAAAA AAAAAAAAAAAAA \r AAAAAAAAAAAAAA" }); 
      myList.Add(new MyClass() { URL = "AAAAAAAAAAAAAA AAAAAAAAAAAA \r AAAAAAAAAAAAAA" }); 
      myList.Add(new MyClass() { URL = "AAAAAAAAAAAAAAA AAAAAAAAAAA \r AAAAAAAAAAAAAA" }); 
      myList.Add(new MyClass() { URL = "AAAAAAAAAAAAAAAA AAAAAAAAAA \r AAAAAAAAAAAAAA" }); 


      dataGridView1.DataSource = myList; 
      dataGridView1.DefaultCellStyle.WrapMode = DataGridViewTriState.True; 
      dataGridView1.AutoResizeColumns(); 
      dataGridView1.AutoResizeRows(); 
     } 
+0

这并不是为了使用WrapMode因为工作我必须设定; _dataGridView.AutoSizeRowsMo​​de = DataGridViewAutoSizeRowsMo​​de.AllCells;并停止AutoResizeColumns();从工作 – Richard210363

+0

编辑答案。 – user3185569

+0

你是对的。用dataGridView1.AutoResizeRows()替换_dataGridView.AutoSizeRowsMo​​de = DataGridViewAutoSizeRowsMo​​de.AllCells;工作正常。谢谢。 – Richard210363

相关问题