如何更改C#中DataTable填充的DataGridView中的列宽



我正在C#中开发一个windows窗体应用程序,我有一个数据网格视图,它的DataSource来自DataTable,就像这个一样

DataTable table = projectsOperations.GetPaymentsByProjectId(this.ProjectID);
dgvShowPaymentsOfProject.DataSource = table;

现在我需要更改DataGridView中第7列的宽度,我已经尝试过了:

dgvShowPaymentsOfProject.Columns[7].Width = 200;

但我给了我一个例外&";对象引用未设置为对象的实例";你们能帮忙吗?

尝试以下代码:

DataGridViewColumn column = dgvShowPaymentsOfProject.Columns[7];
column.Width = 200;

或者您可以设置自动大小模式:

dgvShowPaymentsOfProject.AutoSizeColumnsMode = 
DataGridViewAutoSizeColumnsMode.AllCells;

dgvShowPaymentsOfProject.Columns[7].FillWeight = 200;

此外,DataGridView中以及DataTable中的索引数量从零开始。如果你有7个字段,而你想要的字段是最后一个字段,即第七个字段,你应该引入字段编号6。例如:

DataGridViewColumn column = dgvShowPaymentsOfProject.Columns[6];
column.Width = 200;

上面的代码应用于第七个字段。最后,在将数据源连接到DataGridView之后执行这些代码。如果在此之前运行,则很可能会出现错误

最新更新