DataWindowStyle帮你格式化数据窗口样式

本文介绍了一种使用DataWindowStyle基类自动格式化DataWindow样式的解决方案。该方法通过代码遍历数据窗口的所有可视列,调整列宽、列高、标题等样式,确保样式统一并提高开发效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


DataWindowStyle帮你格式化数据窗口样式

作者:坏人张,发表时间:2004-9-19

     在使用DataWindow时,通常我们都是手工在数据窗口画板中来调整数据窗口对象的样式(列宽、列高、标题、颜色等等)。但是在大型的应用中,往往会有众多的数据窗口,而反复的手工去调整这些数据窗口会给我们的开发工作带来极大的不便,即使耐心的一个一个地修改了数据窗口对象的样式,也难免不能做到精确的统一,这样即不符合功能复用的精神,也给系统的使用效果带来一定的影响。

     为了很好的解决这一问题,特提出了此解决方案,此方案是专门针对Grid类型的数据窗口的,在此基类中,通过代码遍历数据窗口的所有可视列,来改变列以及列标题的样式,以及改变拥有下拉子数据窗口的列中的数据窗口的样式,从而达到格式化数据窗口样式的目的。

     你可以在以下的图示中观察到这一功能的最终效果:



 

图1.DataWindowStyle效果示例

     实现机制:

     1.首先要有一个数据窗口的基类,作为以后封装各类数据窗口相关的特征代码的容器。

     2.所有要格式化的DWObject的属性均需设置为变量的形式,并为他们赋值。

     3.通过Describe("DataWindow.Column.Count")函数来得到数据窗口的列数,并遍历列,使用Modify("")函数来实现改变DWObject其相关的属性(例如:执行Modify("id_t.Font.Face='宋体'")来改变id_t的字体)。

     4.重复3的过程,但不同的是,这次遍历的是子数据窗口的列,也就是DataWindowChild对象,注意:别忘记了先判断数据窗口是否拥有DataWindowChild,有的话记住先得到他们。

     5.也是最后一步,你是否需要保存数据窗口的样式呢?(比如:保持同样的列宽,下次再打开此窗口时可以保持与上次调整的列宽一样。)这里只是做了一个提醒,至于如何具体实现,本例中不做说明了,或许以后有专门讲解系统配置方面的专题中再加以说明吧。

     主要代码实现:

     1.变量的声明:

        private:
        integer                  ii_style= 1           //默认样式

        constant integer   STYLE_DEFAULT=1

        //STYLE_DEFAULT
        constant string     colheader_fontcolor_default="16777215"
        constant string     colheader_bgcolor_default="10040064"
        constant string     col_bgcolor_default="536870912~tif(mod(getrow(),2)=0,rgb(239,236,229),rgb(255,255,255))"

     2.主要函数:

     1)  integerof_getchild(refdatawindowchildadwc[])

           integer                 i,j,li_col_cnt 1
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值