现在的位置: 首页 > 综合 > 正文

水晶报表显示任意列并保持列宽总和不变

2013年10月09日 ⁄ 综合 ⁄ 共 2478字 ⁄ 字号 评论关闭

本文为实现在水晶报表中显示任意列,并且无论显示多少列,要保持列宽总和不变,即当显示的列数比较少时,不能让其“缩”在左侧,而导致右侧一片放空,就是要实现根据列数的多少让其具有“自动拉伸”的效果。
本文实现的效果是显示3~8列,望能给各位起到一定的参考作用:
因最多显示8列,故先在模板放置8个字段对象

 

模板看似简单,但它对尺寸的控制要求很高,不仅每个对象大小要保持一样,并且对对象间的间距控制也半点马虎不得,比如这里每个对象的宽度为1353,列1的Left属性为105,所以列2的Left属性=105+1353+40=1498,列3的Left属性=1498+1353+40……依此类推得其余列的Left属性值,中间的40是对象边框的宽度。这边模板的精确设计是为了获得 列宽总和,因为这个列宽总和始终保持不变,无论当前显示多少列

最少显示3列,故对后面五列设置抑制显示,当然要加上抑制显示条件,其中有一个参数字段OptionNum,表示当前要显示的总列数

模板就是这样,我们再来看看关键代码段,本文最最关键的正是如何动态控制对象的尺寸并以此来达到“自动拉伸”的效果

最后的效果图

 

抱歉!评论已关闭.