代码之家  ›  专栏  ›  技术社区  ›  Wahid Bitar

如何将DataGridView文本框列设置为多行?

  •  40
  • Wahid Bitar  · 技术社区  · 16 年前

    如何让“ DataGridViewTextBoxColumn “在 DataGridView 支持多行属性 ?

    4 回复  |  直到 7 年前
        1
  •  65
  •   Timothy S. Van Haren Prashant    16 年前

    您应该能够通过设置 WrapMode DefaultCellStyle 你的 DataGridViewTextBoxColumn true .

        2
  •  29
  •   Derek W    10 年前

    我发现有两件事你需要做,在设计师,使一个文本单元格显示多行。AS 蒂姆·范·哈伦 提到了,你需要设置 WrapMode DefaultCellStyle 你的 DataGridViewTextBoxColumn true .尽管这样做确实会使文本换行,但它不会使行展开以显示第一行以外的任何内容。除了 循环模式 , the AutoSizeRowsMode DataGridView 必须设置为适当的 DataGridViewAutoSizeRowsMode 枚举值。值,如 DataGridViewAutoSizeRowsMode.AllCells 允许单元格垂直展开并显示整个换行文本。

        3
  •  4
  •   KyleMit Steven Vachon    10 年前

    除了设置 WrapMode DefaultCellStyle ,可以执行以下操作:

    1. 你需要抓住GridView的 EditingControlShowing 事件
    2. 铸造 Control 属性设置为所需类型(即文本框、复选框或按钮)
    3. 使用铸造类型,更改 Multiline 属性如下:
    private void MyGridView_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
    {
        TextBox TB = (TextBox)e.Control;
        TB.Multiline = true;            
    }
    
        4
  •  0
  •   Pavan M    7 年前
        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;
        }