How do you automatically resize columns in a DataGridView control AND allow the user to resize the columns on that same grid?

后端 未结 24 3069
孤城傲影
孤城傲影 2020-11-29 18:03

I am populating a DataGridView control on a Windows Form (C# 2.0 not WPF).

My goal is to display a grid that neatly fills all available width with cells - i.e. no un

24条回答
  •  悲哀的现实
    2020-11-29 18:41

    A little improvement from Schnapple's version

    int nLastColumn = dgv.Columns.Count - 1;
    for (int i = 0; i < dgv.Columns.Count; i++)
    {
        if (nLastColumn == i)
        {
            dgv.Columns[i].AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill;
        }
        else
        {
            dgv.Columns[i].AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells;
        }
    }
    
    for (int i = 0; i < dgv.Columns.Count; i++)
    {
        int colw = dgv.Columns[i].Width;
        dgv.Columns[i].AutoSizeMode = DataGridViewAutoSizeColumnMode.None;
        dgv.Columns[i].Width = colw;
    }
    

提交回复
热议问题