如何设置DataGridViewCell自动换行?

时间:2011-01-31 05:45:39

标签: c# winforms

我在MSN上找到的代码无法自动封装单元格:

dataGridView.Columns.Items[0].AutoSizeMode = DataGridViewAutoSizeColumnMode.DisplayedCells

dataGridView.Columns.Items[0].DefaultCellStyle.WrapMode = DataGridViewTriState.true;

还有更多答案吗?

5 个答案:

答案 0 :(得分:22)

您还需要设置DataGridView.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.AllCells(以及您已完成的工作)以使自动换行能够正常工作。

答案 1 :(得分:12)

这可能有助于某人。

如果您需要目标特定列,请使用以下内容,因为他提出的问题无效,因为c#4.5中没有项目

dataGridView1.DefaultCellStyle.WrapMode = DataGridViewTriState.True;
dataGridView1.Columns[2].AutoSizeMode = DataGridViewAutoSizeColumnMode.DisplayedCells;
dataGridView1.Columns[2].DefaultCellStyle.WrapMode = DataGridViewTriState.True;

答案 2 :(得分:2)

你也可以这样做

DataGridViewTextBoxColumn comments = new DataGridViewTextBoxColumn();
{
    comments.Name = "comments";
    comments.HeaderText = "Comments";
    comments.AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells;
    comments.DefaultCellStyle.WrapMode = DataGridViewTriState.True;
    this.dataGridView1.Columns.Add(comments);
}

答案 3 :(得分:0)

只需在代码中包含第二行.....就像在我的代码中一样......它工作正常

da.Fill(dtusers);

dataGridView1.DataSource = dtusers;
// dataGridView1.AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCells);
dataGridView1.DefaultCellStyle.WrapMode = DataGridViewTriState.True;

答案 4 :(得分:0)

只需在 form_Load 方法

中添加此行
this.dataGridView1.DefaultCellStyle.WrapMode = DataGridViewTriState.True;