繁体   English   中英

如何将 DataGridView 设置为一列宽度以填充全宽?

[英]How to set DataGridView one column width to fill full width?

我有一个 DataGridView,它有 3 列,名称为 AB 和 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;
    }

我在运行时有 crate 列

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 设置为 Particulats Column 但它不起作用

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

该视图的 DatagridView 图像

在“B 列”的属性中,只需将 AutoSizeMode(Layout section) 设置为 Fill。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM