有没有办法让某些单元格在DataGridView
中隐藏?
基本上我正在制作发票申请,其中某些单元格在使用特定设置时没有意义。 我目前使这些单元格ReadOnly没有任何价值,但如果它们变得不可见/透明,那将会很酷。
任何免费的第三方控制也会这样做!
答案 0 :(得分:2)
起初,我不认为这样的事情是可能的,你可以使行或列不可见。 对于单元格的Visible属性是只读的,不能在DataGridView中更改,但是一个人here指出显示here的自定义实现(没有提供源代码),基本上他所做的就是禁用单元格并覆盖DataGridViewCell的OnPaint方法。
答案 1 :(得分:1)
Akshay,想一下,隐藏网格/表格中的单元格是什么意思?
你“可以”最终添加整行或列,有点像excel允许你做,但是单个单元格,预期的行为是什么?
将单元格设置为不可见仍将在该位置呈现矩形,白色或白色为白色或黑色,而不是其他任何其他背景/前景颜色组合,您仍然会在网格中看到至少一个“洞”。
我不知道使用任何网格的具体方法,将单元格设置为只读,清除内容应该有足够的帮助,如果你真的需要其他东西,最终你的网格没有被充分考虑使用你是做它,也就是说应该有更少的行或列,或者应该更改页面中有多个较小的网格。
答案 2 :(得分:0)
我认为这不可能。
我不知道您已经尝试了什么,请查看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。是否将字体颜色设置为与背景相同的值足够好?
答案 3 :(得分:0)
我建议将forecolor与背景颜色相同,并且不要忘记choiceforecolor与您要隐藏的每个单元格的selectionbackcolor相同。
所以:
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