如何让“ DataGridViewTextBoxColumn
”中DataGridView
支持多行属性 ?
Answer 1:
您应该能够通过设置来实现这一WrapMode
中的DefaultCellStyle
您的DataGridViewTextBoxColumn
至true
。
Answer 2:
我发现,有一些你需要做两件事情,无论是在设计,制作文本单元显示多行。 作为添S.范·哈伦提到的,你需要设置WrapMode
的的DefaultCellStyle
您的DataGridViewTextBoxColumn
至true
。 虽然这确实使文本换行,它不会使该行展开以显示任何超出了第一道防线。 除了WrapMode
的AutoSizeRowsMode
中的DataGridView
必须设置相应的DataGridViewAutoSizeRowsMode
枚举值。 如A值DataGridViewAutoSizeRowsMode.AllCells
允许细胞垂直扩展和显示整个换行的文本。
Answer 3:
除了设置WrapMode
中的DefaultCellStyle
,你可以做到以下几点:
- 你需要捕捉GridView的
EditingControlShowing
事件 - 铸造
Control
上的EventArgs到你想要的类型属性(即文本框,复选框或按钮) - 使用该铸造型,改变
Multiline
属性如下图所示:
private void MyGridView_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
{
TextBox TB = (TextBox)e.Control;
TB.Multiline = true;
}
Answer 4:
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;
}
文章来源: How to set DataGridView textbox column to multi-line?