C# Datagridview列宽未更改
| 我似乎无法在Datagridview中调整列宽。这是我的密码:C# Datagridview列宽未更改,c#,datagridview,C#,Datagridview,| 我似乎无法在Datagridview中调整列宽。这是我的密码: public void dgvwidth() { crud.FillDataGrid("Select ProductID,BrandName,Dosage from ProductItems", ref dgvOrderproductlist); dgvOrderproductlist.Columns[0].Width = 80; dgvOrderproduct
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。它没有得到任何错误,但也没有改变列宽
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();
}
你能这样试试吗
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;
}
查看列的AutoSizeMode,大多数情况下宽度被忽略,AutoSizeMode确定实际大小。(将其设置为“无”),尽管如果您试图让列实际填充datagridview,您可能希望将1列设置为填充。它设置为“无”,先生。datagridview的AutoSizeColumnsMode也设置为“无”?我想您已经指的是AutoSizeColumnsMode设置为“无”。在哪里可以找到列的AutoSizeMode?dgvOrderproductlist.columns[0]。AutoSizeModeI假设AutoSize设置为none。是的,将其设置为none。我尝试了你的代码,但仍然没有做任何没有错误的事情。