如何让“ DataGridViewTextBoxColumn
”中DataGridView
支持多行属性?
问问题
85626 次
5 回答
74
您应该能够通过将 的 设置为 来实现WrapMode
这一点。DefaultCellStyle
DataGridViewTextBoxColumn
true
于 2009-10-13T12:26:08.267 回答
31
我发现在设计器中需要做两件事,以使文本单元格显示多行。正如Tim S. Van Haren提到的,你需要设置你WrapMode
的to 。尽管这确实使文本换行,但它不会使行扩展以显示第一行以外的任何内容。除了,的必须设置为适当的枚举值。诸如允许单元格垂直扩展并显示整个换行文本的值。DefaultCellStyle
DataGridViewTextBoxColumn
true
WrapMode
AutoSizeRowsMode
DataGridView
DataGridViewAutoSizeRowsMode
DataGridViewAutoSizeRowsMode.AllCells
于 2011-08-22T20:50:22.573 回答
5
除了设置之外WrapMode
,DefaultCellStyle
您还可以执行以下操作:
- 你需要捕捉 GridView 的
EditingControlShowing
事件 - 将EventArgs
Control
上的属性转换为您想要的类型(即文本框、复选框或按钮) - 使用该转换类型,更改
Multiline
属性,如下所示:
private void MyGridView_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
{
TextBox TB = (TextBox)e.Control;
TB.Multiline = true;
}
于 2010-01-21T06:41:44.030 回答
0
如果您只想为您的一列设置 Multiline 属性,DataGridView
您可以这样做
dataGridView.Columns[0].DefaultCellStyle.WrapMode = DataGridViewTriState.True;
于 2021-02-28T19:17:39.280 回答
0
int multilineht = 0;
private void CustGridView_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
{
multilineht = CustGridView.Rows[CustGridView.CurrentCell.RowIndex].Height;
CustGridView.AutoResizeRow(CustGridView.CurrentCell.RowIndex, DataGridViewAutoSizeRowMode.AllCells);
}
private void CustGridView_CellEndEdit(object sender, DataGridViewCellEventArgs e)
{
CustGridView.Rows[CustGridView.CurrentCell.RowIndex].Height = multilineht;
}
于 2018-06-26T06:48:16.977 回答