关于 c#:Datagridview 列宽不变

Datagridview Column width not changing

这是属性 |这是图片

我似乎无法在 Datagridview 中调整我的列宽。这是我的代码:

1
2
3
4
5
6
7
8
9
10
11
      public void dgvwidth()
    {
        crud.FillDataGrid("Select ProductID,BrandName,Dosage from ProductItems", ref dgvOrderproductlist);
        dgvOrderproductlist.Columns[0].Width = 80;
        dgvOrderproductlist.Columns[1].Width = 250;
        dgvOrderproductlist.Columns[2].Width = 80;
    }
      private void HomePage_Load(object sender, EventArgs e)
    {
        dgvwidth();
    }

我试图从我的表中只获取 3 列,并更改它的列宽以适合我的 Datagridview。它没有出现任何错误,但也没有改变列宽。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
    public void FillDataGrid(string sql, ref DataGridView dg)
    {
        try
        {
            DataSet ds = new DataSet();
            cn.Open();
            cmd = new SqlCommand(sql, cn);
            adptr = new SqlDataAdapter(cmd);
            adptr.Fill(ds);
            dg.DataSource ="";
            dg.DataSource = ds.Tables[0];
            dg.AutoResizeColumns();

        }
        catch (Exception e)
        {
            MessageBox.Show("" + e.Message);
        }
        cn.Close();
    }


你能这样试试吗

1
2
3
4
5
6
7
8
9
10
11
12
13
 public void dgvwidth()
{
    crud.FillDataGrid("Select ProductID,BrandName,Dosage from ProductItems", ref dgvOrderproductlist);

 var column = dgvOrderproductlist.Columns[0];
 column.Width = 80;

 column  = dgvOrderproductlist.Columns[1];
 column.Width = 250;
  column  =     dgvOrderproductlist.Columns[2];
  column.Width = dgvOrderproductlist.Width - dgvOrderproductlist.Columns[0].Width - dgvOrderproductlist.Columns[1].Width - 50;

 }