使单元格可见DataGridView WinForms C#
本文关键字:WinForms DataGridView 单元格 | 更新日期: 2023-09-27 17:59:09
有什么方法可以使DataGridView
中的某些细胞不可见吗?
基本上,我正在制作一个发票应用程序,当使用特定设置时,某些单元格没有意义。我目前已经将这些单元格设置为只读,没有任何值,但如果它们可以变成不可见/透明的,那就太酷了。
任何免费的第三方控制也可以!
一开始,我认为这是不可能的,你可以让行或列不可见。单元格的Visible属性是只读的,不能在DataGridView中更改,但这里的一个人指出了这里显示的自定义实现(没有提供源代码),他所做的基本上是禁用单元格并覆盖DataGridViewCell的OnPaint方法。
Akshay,想一想,在网格/表中隐藏单元格意味着什么?
你最终"可以"添加整行或整列,有点像excel允许你这样做,但一个单元格,预期的行为是什么?
将一个单元格设置为不可见,仍然会在该位置渲染一个矩形,白色覆盖白色或黑色覆盖任何其他背景/前地面颜色的组合,你仍然会在网格中看到至少一个"洞"。
我不知道用任何网格做这件事的具体方法,将单元格设置为只读并清除内容就足够了,如果你真的需要其他东西,最终你的网格不适合你使用它,也就是说应该减少行或列,或者应该在页面中改为多个较小的网格。
我认为这是不可能的。
我不知道你已经试过什么了,看看吧http://msdn.microsoft.com/en-us/library/system.windows.forms.datagridviewcell.aspx并查看是否有任何属性可以用作变通方法,特别是Style属性。
仔细看看,http://msdn.microsoft.com/en-us/library/system.windows.forms.datagridviewcellstyle.aspx.将字体颜色设置为与背景相同的值是否足够好?
我建议将前景颜色与背景颜色相同,不要忘记要隐藏的每个单元格的前景颜色选择与背景颜色选择相同。
因此:
MyGrid.rows(0).cells(0).Style.ForeColor = MyGrid.rows(0).cells(0).Style.BackColor
MyGrid.rows(0).cells(0).Style.SelectionForeColor = MyGrid.rows(0).cells(0).Style.SelectionBackColor