c# - 如何将 DataGridView 设置为一列宽以填充全宽?
问题描述
我有一个 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;
解决方案
在“B 列”的属性中,只需将 AutoSizeMode(Layout section) 设置为 Fill。
推荐阅读
- opentest - 如何向 OpenTest UI 和 API 添加身份验证
- javascript - PayPal Express Checkout JS - 窗口不断加载
- javascript - NodeJS posts.findOne(...返回 404 未找到
- sass - Sass & 以选择具有第二类的元素但也扩展名称
- sql - 为什么 postgres trigram word_similarity 函数不使用 gin 索引?
- c# - 如何使用 Microsoft.Azure.ServiceBus 在订阅上创建 MessageReceiver
- node.js - 无法识别的数据类型 Sequelize Postgres
- django - TypeError:“DeferredAttribute”对象在 models.py 中不可下标
- video - 如何使用 gstreamer 保存修改后的视频的结果?
- python - 如何根据包含的字符串分配类别