Luk*_*asz 15 c# datagridview winforms
我有一个绑定到ObjectDataSource的DataGridView,其中一些列被隐藏,包括ID列.问题是,即使将其visible属性设置为false,ID列也会显示.有没有人遇到过这个问题?将宽度设置为零不是一个选项,因为网格不允许宽度小于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;
Run Code Online (Sandbox Code Playgroud)
这是生成的网格代码.
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;
Run Code Online (Sandbox Code Playgroud)
我不知道还有什么我可以错过的?
谢谢!
Jay*_*ggs 17
建议1:
尝试在FormLoad事件中明确将DGV列的Visible属性设置为false:
dataGridView.Columns["YourIdColumn"].Visible = false;
Run Code Online (Sandbox Code Playgroud)
建议2:
尝试将列dgvActiveMinersRecordId从DGV中的第一列更改为最后一列.
noe*_*cus 10
为了下一个跟我一样的人,试着回答一下这个问题,比如我...
这似乎是一个错误,但解决方法是:
确保最后显示要隐藏的列
这取决于您的代码,但对于某些人来说,这将是:
Columns[x].DisplayIndex根据@ Steve的帖子设置列显示最后一列小智 5
我有同样的问题。
下面的行仍然使该列可见,即使探索该值显示它为 false。
dataSelected.Columns["id"].Visible = false;
Run Code Online (Sandbox Code Playgroud)
我没有这个问题,直到我在列上设置 DisplayIndex
dataSelected.Columns["ipagenum"].DisplayIndex = 6;
Run Code Online (Sandbox Code Playgroud)
将有问题的列 DisplayIndex 移至末尾,更正了此问题。
dataSelected.Columns["id"].DisplayIndex = 15;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
18934 次 |
| 最近记录: |