This Domain(Admin5.com) is for Sale:

DataWindow Style帮你格式化数据窗口样式

时间:2007-12-23  来源:不详  作者:迈克DB
在使用DataWindow时,通常我们都是手工在数据窗口画板中来调整数据窗口对象的样式(列宽、列高、标题、颜色等等)。但是在大型的应用中,往往会有众多的数据窗口,而反复的手工去调整这些数据窗口会给我们的开发工作带来极大的不便,即使耐心的一个一个地修改了数据窗口对象的样式,也难免不能做到精确的统一,这样即不符合功能复用的精神,也给系统的使用效果带来一定的影响。
为了很好的解决这一问题,特提出了此解决方案,此方案是专门针对Grid类型的数据窗口的,在此基类中,通过代码遍历数据窗口的所有可视列,来改变列以及列标题的样式,以及改变拥有下拉子数据窗口的列中的数据窗口的样式,从而达到格式化数据窗口样式的目的。
你可以在以下的图示中观察到这一功能的最终效果:

copyright dedecms

图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:
integerii_style=1//默认样式
constantintegerSTYLE_DEFAULT=1
//STYLE_DEFAULT
constantstringcolheader_fontcolor_default="16777215"
constantstringcolheader_bgcolor_default="10040064"

内容来自dedecms


constantstringcol_bgcolor_default="536870912~tif(mod(getrow(),2)=0,rgb(239,236,229),rgb(255,255,255))"
2.主要函数:
1)integerof_getchild(refdatawindowchildadwc[])
integeri,j,li_col_cnt
integerli_ret
stringls_col
datawindowchildldwc_child[]
li_col_cnt=integer(this.describe("DataWindow.Column.Count"))
ifli_col_cnt<1thenreturn-1
fori=1toli_col_cnt
ls_col=this.of_getcolumndisplayname(i)
li_ret=this.getchild(ls_col,ldwc_child[i])
ifli_ret=1then
j
this.getchild(ls_col,adwc[j])
endif
next
returnj
2)stringof_getcolumndisplayname(integerai_colnumber)
stringls_colname
ls_colname=this.describe("#" string(ai_colnumber) ".name")
ifls_colname=""orls_colname="!"then
return"!"
endif
returnof_getColumnDisplayName(ls_colname)
3)stringof_getcolumndisplayname(stringas_colname)
stringls_coldisplayname
ls_coldisplayname=this.describe(as_colname ".name")
returnls_coldisplayname
4)stringof_getheadername(stringas_column)

dedecms.com


stringls_defaultheadersuffix="_t"
stringls_colhead
ls_colhead=as_column ls_defaultheadersuffix
returnls_colhead
5)stringof_getheadertext(stringas_column)
stringls_defaultheadersuffix="_t"
stringls_colhead

看完这篇,您有何感觉呢?

上一篇:Agent插件浅析   下一篇:ODBC API常用函数诠释

文章评论

共有位Admini5网友发表了评论 查看完整内容

24小时热门信息