52

DataGridViewTextBoxColumn「 」をDataGridView 複数行プロパティをサポートさせるにはどうすればよいですか?

4

5 に答える 5

74

のをに設定することWrapModeで、これを実現できるはずです。DefaultCellStyleDataGridViewTextBoxColumntrue

于 2009-10-13T12:26:08.267 に答える
31

テキストセルに複数の行を表示させるには、デザイナーで2つのことを行う必要があることがわかりました。ティムS.ヴァンハーレンが述べたように、あなたはあなたののセットWrapModeをする必要がDefaultCellStyleあります。そして、それはテキストを折り返しますが、最初の行を超えて何かを表示するために行を拡張することはありません。に加えて、のを適切な列挙値に設定する必要があります。のような値を使用すると、セルを垂直方向に展開して、折り返されたテキスト全体を表示できます。DataGridViewTextBoxColumntrueWrapModeAutoSizeRowsModeDataGridViewDataGridViewAutoSizeRowsModeDataGridViewAutoSizeRowsMode.AllCells

于 2011-08-22T20:50:22.573 に答える
5

WrapModeの設定とは別にDefaultCellStyle、次のことができます。

  1. EditingControlShowingGridViewのイベントをキャッチする必要があります
  2. ControlEventArgsのプロパティを目的のタイプ(テキストボックス、チェックボックス、ボタンなど)にキャストします
  3. そのキャストタイプを使用して、次のMultilineようにプロパティを変更します。
private void MyGridView_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
{
    TextBox TB = (TextBox)e.Control;
    TB.Multiline = true;            
}
于 2010-01-21T06:41:44.030 に答える
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 に答える
0

1列だけにMultilineプロパティを設定したい場合は、次のDataGridView ことができます。

dataGridView.Columns[0].DefaultCellStyle.WrapMode = DataGridViewTriState.True;
于 2021-02-28T19:17:39.280 に答える