Как установить высоту строк для автоматического изменения размера, чтобы содержимое соответствовало - PullRequest
8 голосов
/ 21 ноября 2011

Я работаю над DataGridView, и мне было интересно, есть ли свойство, которое автоматически увеличивает ячейки, если это требуется для контента.

Пока у меня есть, в конце обработчик DataGridViewBindingComplete:

dataGridView1.AutoResizeRows(DataGridViewAutoSizeRowsMode.AllCells);

Но, к сожалению, это не сработало.

Вот что я попробовал до сих пор:

public partial class Form1 : Form
{
    private void dgv1BindingComplete(object sender, DataGridViewBindingCompleteEventArgs e)
    {
        dataGridView1.AutoResizeRows(DataGridViewAutoSizeRowsMode.AllCells);
    }

    public Form1()
    {
        InitializeComponent();

        // [...] set up datasource: orders

        dataGridView1.AutoGenerateColumns = false;
        dataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells;
        dataGridView1.DataSource = orders;

        DataGridViewTextBoxColumn idCol = new DataGridViewTextBoxColumn();
        idCol.DataPropertyName = "id";
        idCol.AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCellsExceptHeader;
        idCol.HeaderText = "#";
        idCol.DisplayIndex = 0;

        DataGridViewTextBoxColumn placedCol = new DataGridViewTextBoxColumn();
        placedCol.DataPropertyName = "placed";
        placedCol.AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCellsExceptHeader;
        placedCol.HeaderText = "Time Placed";
        placedCol.DisplayIndex = 1;

        // [...] more of these columns

        dataGridView1.Columns.Add(idCol);
        dataGridView1.Columns.Add(placedCol);
        // [...] adding the rest of the columns

        dataGridView1.DataBindingComplete += dgv1BindingComplete;
    }
}

Со следующим результатом:

Orders description is on one line. Image cell is not enlarged.

Ответы [ 3 ]

10 голосов
/ 25 ноября 2011

Ответ был скрыт в другом вопросе Stackoverflow: Как установить для многострочного столбца текстового поля DataGridView?

Задать для свойства DefaultCellStyle.WrapMode значение TriState.True добилось цели.*

4 голосов
/ 21 октября 2016
datagridview1.RowsDefaultCellStyle.WrapMode = DataGridViewTriState.True
datagridview1.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.AllCellsExceptHeaders
2 голосов
/ 22 ноября 2011

Установить свойство AutoSizeColumnMode из Просмотр данных в AllCells и проверить его.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...