DataWindow Style帮你格式化数据窗口样式
时间:2007-12-23 来源:不详 作者:迈克DB
为了很好的解决这一问题,特提出了此解决方案,此方案是专门针对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网友发表了评论 查看完整内容