关于MultiRow动态隐藏列的问题
现有一项目,需要动态的根据业务权限设定MultiRow的列进行隐藏。首先设定固定模板,所有的列都是表示状态。
逻辑里面根据业务需求,进行列的隐藏。
逻辑是通过ColumnHeaders的Visible和HorizontalResize来控制。
※如果列幅设定成0,但是Visible是True的话,会有个细线表示。
现在的问题是,设置隐藏后,后面的单元格没有跟上来,仍然存在一定的空白。
比如我连续隐藏5列,在隐藏列的位置会有一块空白。
请问这个问题如何进行回避???
这个是不设定Visible的效果。 你好,在设置某个cell的visible时,把后面的cell的location也跟着设置一下,手动往前面调一下 Richard.Ma 发表于 2021-6-7 17:45
你好,在设置某个cell的visible时,把后面的cell的location也跟着设置一下,手动往前面调一下
需要重新设定Template对象么??
还是直接通过GcmultiRow1.Template.ColumnHeaders.Cells来设定??
先GcmultiRow1.Template.ColumnHeaders.Cells来设定,
GcmultiRow1.Template.ColumnHeaders.Cells = ...
GcmultiRow1.Template = GcmultiRow1.Template;
两步操作 Richard.Ma 发表于 2021-6-8 16:10
先GcmultiRow1.Template.ColumnHeaders.Cells来设定,
GcmultiRow1.Template.ColumnHeaders.Cells ...
这样的话就不能通过HorizontalResize来设定列宽了。
只能重新设定所有单元格的位置,然后重新设定Template了么??
this.gcMultiRow1.Columns.Collapse();
隐藏第一列
Richard.Ma 发表于 2021-6-8 18:49
this.gcMultiRow1.Columns.Collapse();
隐藏第一列
完美解决问题。
非常感谢。
有一点,如果AllowUserToAddRows是False的话,需要先设成True,保证存在行才行。
要不然直接例外了。 不客气
页:
[1]