Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/324.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何将DataGridView设置为一列宽度以填充整个宽度?_C#_Winforms - Fatal编程技术网

C# 如何将DataGridView设置为一列宽度以填充整个宽度?

C# 如何将DataGridView设置为一列宽度以填充整个宽度?,c#,winforms,C#,Winforms,我有一个DataGridView,它有3列,因为名称是A B和C,A列和C列的宽度应该是固定的(比如200),但B列的宽度应该填充到完整的DataGridView宽度,它应该根据屏幕大小进行设置 我创建了一个在DatagridView上创建列的函数 public void GenerateColumns(DataGridView dgv, string headerName, string headerText, int Minwidth, int FillWidth, DataGridVie

我有一个DataGridView,它有3列,因为名称是A B和C,A列和C列的宽度应该是固定的(比如200),但B列的宽度应该填充到完整的DataGridView宽度,它应该根据屏幕大小进行设置

我创建了一个在DatagridView上创建列的函数

 public void GenerateColumns(DataGridView dgv, string headerName, string headerText, int Minwidth, int FillWidth, DataGridViewColumnSortMode shortmode = DataGridViewColumnSortMode.NotSortable, bool Visible = true)
    {
        dgv.Columns.Add(headerName, headerText);
        dgv.Columns[headerName].MinimumWidth = Minwidth;

        dgv.Columns[headerName].Width = FillWidth;

        dgv.Columns[headerName].SortMode = shortmode;
        dgv.Columns[headerName].Visible = Visible;
    }
我在运行时有板条箱列

GenerateColumns(dgvLedger, DbConst.SRNo, "SRNo", 50, 50, DataGridViewColumnSortMode.Automatic, false);
        GenerateColumns(dgvLedger, DbConst.FYearID, "FYearID", 50, 50, DataGridViewColumnSortMode.Automatic, false);
        GenerateColumns(dgvLedger, DbConst.Date, "Date", 50, 100);
        GenerateColumns(dgvLedger, DbConst.Particulars, "Particulars", 50, 500);
        GenerateColumns(dgvLedger, DbConst.VchType, "VchType", 50, 120);
        GenerateColumns(dgvLedger, DbConst.VchNo, "VchNo", 50, 80);
        GenerateColumns(dgvLedger, DbConst.AmountDebit, "Debit", 50, 150);
        GenerateColumns(dgvLedger, DbConst.AmountCredit, "Credit", 50, 150);
        GenerateColumns(dgvLedger, DbConst.DiscriptionApplicable, DbConst.Discription, 50, 50, DataGridViewColumnSortMode.NotSortable, false);
作为注释,我已将AutosizeMode设置为Specificats列,但它不起作用

dgvLedger.Columns[DbConst.Particulars].AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill;

在“B列”的属性中,只需设置AutoSizeMode(布局部分)进行填充。

将列的AutoSizeMode设置为填充。如果将AutoSizeMode设置为填充,则所有列宽大小设置为相同,我希望将A列和C列的宽度设置为200,并且A列和C列之间的B列应设置为填充。只有B列将设置为填充。其他列将AutoSizeMode保持为NotSet,宽度为200。Sir DataGridView列和行绑定来自dataTable,我已经设置了dgv.DataSource=dataTable。因此,在设计模式期间,我无法将B列设置为AutoSizeMode以填充
dgv.Columns[1]。AutoSizeMode=DataGridViewAutoSizeColumnMode.fillSir DataGridView列和行绑定来自dataTable,我已经设置了dgv.DataSource=dataTable。因此,在设计模式期间,我无法将B列设置为AutoSizeMode以填充