DataGridView ID列不会隐藏
|
我有一个绑定到ObjectDataSource的DataGridView,其中某些列(包括ID列)被隐藏了。问题在于,即使ID列的visible属性设置为false,它也会显示出来。有人遇到过这个问题吗?不能将宽度设置为零,因为网格不允许宽度小于5像素的列,因此无论如何它仍会在网格上显示该列。
奇怪的是,ID列并非总是显示。在我对该应用程序进行了一段时间的工作之后,这些列再次出现。
未将DataGridView设置为自动生成列。我正在构建到.NET和C#的版本4.0。
这是表单构造函数中的代码。
dgvActiveMiners.AutoGenerateColumns = false;
dgvAvilableMiners.AutoGenerateColumns = false;
dgvOperationResults.AutoGenerateColumns = false;
dgvActiveMiners.Columns[\"dgvActiveMinersRecordId\"].Visible = false;
dgvAvilableMiners.Columns[\"dgvAvilableMinersRecordId\"].Visible = false;
dgvOperationResults.Columns[\"dgvOperationResultRecordId\"].Visible = false;
这是为网格生成的代码。
this.dgvOperationResults.AllowUserToAddRows = false;
this.dgvOperationResults.AllowUserToDeleteRows = false;
this.dgvOperationResults.AutoGenerateColumns = false;
this.dgvOperationResults.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
this.dgvOperationResults.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
this.dgvOperationResultRecordId,
this.nameDataGridViewTextBoxColumn2,
this.typeIdDataGridViewTextBoxColumn,
this.amountDataGridViewTextBoxColumn,
this.operationIdDataGridViewTextBoxColumn});
this.dgvOperationResults.DataSource = this.operationResultBindingSource;
this.dgvOperationResults.Location = new System.Drawing.Point(12, 40);
this.dgvOperationResults.MultiSelect = false;
this.dgvOperationResults.Name = \"dgvOperationResults\";
this.dgvOperationResults.ReadOnly = true;
this.dgvOperationResults.Size = new System.Drawing.Size(498, 247);
this.dgvOperationResults.TabIndex = 16;
我不知道我还能缺少什么?
谢谢!
没有找到相关结果
已邀请:
9 个回复
舞备联
建议2: 尝试将dgvActiveMinersRecordId列从DGV的第一列更改为最后一列。
补蹲农界维
队辅坟阮阶
此代码有效:
指出不同?这是我指定RowFilter的地方。 另一种形式没有开始的RowFilter,但是在以后的两种形式中,我都更改了RowFilter(取决于用户操作),列0永不返回。 似乎为列0隐藏列后不久指定RowFilter失败。 非常非常奇怪!!!非常非常令人沮丧!!!
厦惫
在将DisplayIndex设置在列上之前,我没有这个问题
将有问题的列DisplayIndex移到末尾,可以解决此问题。
凸晴
氏脑
慷祈霖黑
辟官陡板休
辅奈