sql - 无法在 DataGridView 中隐藏列
问题描述
我在 Winform 上有四个 dgv。通过将前 3 个 dvg 的“Visible”属性设置为 false,我成功地隐藏了前 3 个 dvg 上不需要的列。但是,有一列不会隐藏在第四个 dgv 上,我不知道为什么。
这是第四个 dgv 的代码:
With Me.DataGridView4
.DataSource = BSSJ
.AutoGenerateColumns = True
.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells
.Columns("RecID").Visible = False
.Columns("JobID").Visible = False
.Columns("Deleted").Visible = False
.Columns("Amt").DefaultCellStyle.Format = "#,##0.00"
.Columns("Amt").DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
End With
它是仍然出现在 dgv 中的“RecID”列。其他两列“JobID”和“Deleted”按预期隐藏。
数据源“BSSJ”是绑定到 SQL 表的绑定源。我不能从查询的 Select 语句中省略此字段,因为它在与父表的关系中是必需的。
“RecID”是绑定到“BSSJ”的表中的主键,但其他三个dgv的主键隐藏成功。
我可能错过了一些简单的东西,但我只是看不到它。
有任何想法吗?
解决方案
这不是关于为什么您的代码不起作用的直接答案,我无法复制您的问题。
但是,如果您删除 autosizecolumns 代码行,则可以动态设置列的宽度并可能解决该问题
.Columns("RecID").Width = 0
.Columns("Amt").Width = 200
.Columns("JobID").Visible = False
.Columns("Deleted").Visible = False
.Columns("Amt").DefaultCellStyle.Format = "#,##0.00"
.Columns("Amt").DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
推荐阅读
- php - 如果字符串与 PHP 中的 3 个选项之一不匹配
- python - Pandas 根据条件为每一行创建一个唯一的 id
- mysql - 如何使用 LEFT JOIN 查找表中是否缺少数据
- python - 如何在没有透明部分的情况下获得 pygame Surface 的矩形?
- node.js - 在 nodejs 中,有没有办法让我始终可以使用一个模块?
- ansible - 为一组主机变量中的每个唯一值运行导入的 Ansible 剧本
- java - JavaFX AudioClip MEDIA_UNSUPPORTED:无法识别的文件签名,更新不推荐使用的代码
- r - 将向量列表中的所有向量元素设置为 NA
- vagrant - 您可以从 VM 内部执行 vagrant 配置吗?
- python - PCA 中的行与列有多重要?