WinForm应用程序中如何隐藏DataGridView列?
DataGridView 列隐藏实现方案
- 设计时零代码配置
列的隐藏属性属于单个列的专属配置,不在DataGridView的全局属性面板中,这也是你之前找不到对应选项的原因。正确操作路径:- 选中窗体上的DataGridView控件,点击控件右上角的智能标记小三角
- 在弹出的操作菜单里选择「编辑列」,打开列编辑配置窗口
- 在窗口左侧选中需要隐藏的目标列,在右侧属性面板找到该列的
Visible属性,将其值设置为False即可完成隐藏
- 运行时动态配置
当需要根据业务逻辑动态控制列的显示状态时,可以在对应业务事件逻辑里通过代码设置:- 按列名匹配隐藏(推荐,避免列顺序变动导致索引错位):
dataGridView1.Columns["目标列的Name属性值"].Visible = false; - 按列索引位置隐藏:
dataGridView1.Columns[列的序号位置].Visible = false;
- 按列名匹配隐藏(推荐,避免列顺序变动导致索引错位):
注意事项
- 该隐藏方式不会删除列本身的绑定数据,后续后台逻辑依然可以正常读取该列下的单元格值,和直接删除列的效果有本质区别
- 如果DataGridView开启了自动生成列(
AutoGenerateColumns = true)模式,必须在数据绑定完成、列初始化结束之后再执行列隐藏代码,否则会触发空引用异常
内容的提问来源于stack exchange,提问作者prashant
相关产品推荐
相关产品推荐

