如何设置文本框的DataGridView列,多行?(How to set DataGridView

2019-07-23 01:28发布

如何让“ DataGridViewTextBoxColumn ”中DataGridView 支持多行属性

Answer 1:

您应该能够通过设置来实现这一WrapMode中的DefaultCellStyle您的DataGridViewTextBoxColumntrue



Answer 2:

我发现,有一些你需要做两件事情,无论是在设计,制作文本单元显示多行。 作为添S.范·哈伦提到的,你需要设置WrapMode的的DefaultCellStyle您的DataGridViewTextBoxColumntrue 。 虽然这确实使文本换行,它不会使该行展开以显示任何超出了第一道防线。 除了WrapModeAutoSizeRowsMode中的DataGridView必须设置相应的DataGridViewAutoSizeRowsMode枚举值。 如A值DataGridViewAutoSizeRowsMode.AllCells允许细胞垂直扩展和显示整个换行的文本。



Answer 3:

除了设置WrapMode中的DefaultCellStyle ,你可以做到以下几点:

  1. 你需要捕捉GridView的EditingControlShowing事件
  2. 铸造Control上的EventArgs到你想要的类型属性(即文本框,复选框或按钮)
  3. 使用该铸造型,改变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?