2

我创建了这样的数据网格视图:

在此处输入图像描述

我想改变列宽。我应该怎么办?我应该更改 Designer.cs 中的代码还是仅更改 .cs 中的代码?

更新:

private void sqlConnStaff()
    {
        BindingSource dbBindSource = new BindingSource();

        SqlCommand com;
        com = new SqlCommand();
        SqlConnection con = new SqlConnection(strCon);

        com.Connection = con;
        com.CommandType = CommandType.StoredProcedure;
        com.CommandText = "view_staff";

        SqlDataAdapter dataAdapter = new SqlDataAdapter(com);

        IDCabang = new SqlParameter();
        IDCabang.SqlDbType = SqlDbType.VarChar;
        IDCabang.Size = 5;
        IDCabang.ParameterName = "@IDCabang";
        IDCabang.Value = IDCabangC;
        IDCabang.Direction = ParameterDirection.Input;

        com.Parameters.Add(IDCabang);

        con.Open();

        DataTable table = new DataTable();
        table.Locale = System.Globalization.CultureInfo.InvariantCulture;
        dataAdapter.Fill(table);
        dbBindSource.DataSource = table;

        dataGridView3.AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCellsExceptHeader);
        // you can make it grid readonly.
        dataGridView3.ReadOnly = true;
        // finally bind the data to the grid
        dataGridView3.DataSource = dbBindSource;

        con.Close();
    }
4

4 回答 4

2

您可以在网格列上设置 Width 属性,例如:

dataGridView1.Columns[0].Width = 200;

或者你可以在设计器中设置列的宽度,desinger.cs一般不建议修改,而是去设计视图那里修改列宽属性。

如果您从代码绑定结果集并从(基于结果集的代码)创建列,那么您必须指定/修改代码中的宽度。如果您在设计视图中设计网格并从那里添加列,则在设计视图中定义宽度。转到 DataGrid 属性,Columns -> Add new Column 修改宽度:

在此处输入图像描述

于 2013-05-14T10:16:01.580 回答
1

检查DataGridViewColumn.Width财产。

获取或设置列的当前宽度。

DataGridViewColumn firstcolumn = dataGridView1.Columns[0];
column.Width = 150;

您可以将.Width属性设置为像素,默认值为100.

如果您想在设计视图中使用 Habib指出的,您可以更改它。

于 2013-05-14T10:21:53.830 回答
0

您可以在设计器中更改它:单击DataGridView网格右上角的这个小箭头,Edit Columns -> Select Column -> Width默认为 100。

于 2013-05-14T10:15:38.260 回答
0

对不起,我看不到图像。被我的工作防火墙阻止但如果你想改变宽度我建议永远不要修改designer.cs

Designer.cs 是自动生成的代码,人们只是假设它没有被修改,因此如果需要在以后修复它可能会变得很麻烦。

在 .cs 文件中修改它。

于 2013-05-14T10:18:26.303 回答