大雀软件园

首页 软件下载 安卓市场 苹果市场 电脑游戏 安卓游戏 文章资讯 驱动下载
技术开发 网页设计 图形图象 数据库 网络媒体 网络安全 站长CLUB 操作系统 媒体动画 安卓相关
当前位置: 首页 -> 技术开发 -> 数据库 -> DataWindow Style帮你格式化数据窗口样式

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

时间: 2021-07-31 作者:daque

  在运用datawindow时,常常咱们都是细工在数据窗口画板中来安排数据窗口东西的款式(列宽、列高、题目、脸色之类)。然而在巨型的运用中,常常会有稠密的数据窗口,而重复的细工去安排那些数据窗口会给咱们的开拓处事带来极大的未便,纵然细心的一个一个地窜改了数据窗口东西的款式,也不免不许做到透彻的一致,如许即不适合功效复用的精力,也给体例的运用功效带来确定的感化。       为了很好的处置这一题目,特提出了此处置计划,此计划是特意对准grid典型的数据窗口的,在此基类中,经过代码遍历数据窗口的一切可视列,来变换列以及列题目的款式,以及变换具有下拉子数据窗口的列中的数据窗口的款式,进而到达方法化数据窗口款式的手段。       你不妨在以次的图示中查看到这一功效的最后功效:  

                图1.datawindow style功效示例       实行体制:       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)   integer of_getchild(ref datawindowchild adwc[])             integer                  i, j, li_col_cnt             integer                  li_ret             string                    ls_col             datawindowchild   ldwc_child[]             li_col_cnt = integer( this.describe( "datawindow.column.count" ) )              if li_col_cnt < 1 then return -1             for i = 1 to li_col_cnt                   ls_col = this.of_getcolumndisplayname( i )                  li_ret = this.getchild( ls_col, ldwc_child[i] )                  if li_ret = 1 then                     j++                     this.getchild( ls_col, adwc[j] )                  end if             next             return j       2)   string of_getcolumndisplayname(integer ai_colnumber)             string ls_colname             ls_colname = this.describe ("#" + string (ai_colnumber) + ".name")             if ls_colname = " " or ls_colname = "!" then                return "!"             end if             return of_getcolumndisplayname (ls_colname)       3)   string of_getcolumndisplayname(string as_colname)             string ls_coldisplayname             ls_coldisplayname = this.describe (as_colname + ".name")             return ls_coldisplayname       4)   string of_getheadername(string as_column)             string ls_defaultheadersuffix = "_t"             string   ls_colhead             ls_colhead = as_column + ls_defaultheadersuffix             return ls_colhead       5)   string of_getheadertext(string as_column)             string ls_defaultheadersuffix = "_t"             string   ls_colhead             ls_colhead = this.describe ( as_column + ls_defaultheadersuffix + ".text" )             if ls_colhead = "!" then               //no valid column header, use column name.               ls_colhead = as_column             end if              return ls_colhead       6)   integer of_setstyle(integer ai_style)             integer          i, j             integer          li_column_cnt                  //列数             string           ls_column_name               //列名             string           ls_column_width               //列宽             string           ls_child_column_name      //子数据窗口列名             string           ls_column_headername     //列题目             string           ls_colheader_fontcolor      //列题目字体脸色             string           ls_colheader_bgcolor        //列题目后台脸色             string           ls_col_bgcolor                  //列后台脸色             datawindowchild  ldwc_child[]             //子数据窗口             choose case ai_style              case 1               ls_colheader_fontcolor = colheader_fontcolor_default               ls_colheader_bgcolor = colheader_bgcolor_default               ls_col_bgcolor = col_bgcolor_default              case else               ls_colheader_fontcolor = colheader_fontcolor_default               ls_colheader_bgcolor = colheader_bgcolor_default               ls_col_bgcolor = col_bgcolor_default                end choose             //遏止列挪动             this.modify("datawindow.grid.columnmove=no")             //遏止鼠标全采用             this.modify("datawindow.selected.mouse=no")             //安排列以及列题目             li_column_cnt = integer( this.describe("datawindow.column.count") )             for i = 1 to li_column_cnt               //安排列款式                ls_column_name = this.of_getcolumndisplayname( i )               this.modify( ls_column_name + ".font.face=’宋体’" )               this.modify( ls_column_name + ".font.height=’-9’" )               this.modify( ls_column_name + ".y=’4’" )               this.modify( ls_column_name + ".height=’56’")               this.modify( ls_column_name + ".background.mode=’0’" )               this.modify( ls_column_name + ".background.color=’" + ls_col_bgcolor + "’" )               //安排列题目款式               ls_column_headername = this.of_getheadername( ls_column_name )               this.modify( ls_column_headername + ".color=’" + ls_colheader_fontcolor + "’" )               this.modify( ls_column_headername + ".font.face=’arial’" )               this.modify( ls_column_headername + ".font.height=’-9’" )               this.modify( ls_column_headername + ".y=’0’" )               this.modify( ls_column_headername + ".height=’68’")               this.modify( ls_column_headername + ".background.mode=’0’" )               this.modify( ls_column_headername + ".background.color=’" + ls_colheader_bgcolor + "’")             next             //带区款式             this.modify("datawindow.header.height=’68’")             this.modify("datawindow.detail.height=’68’")             this.modify("datawindow.footer.height=’40’")             //this.modify("datawindow.footer.color= ’" + ls_colheader_bgcolor + "’")             //安排datawindowchild款式             this.of_getchild( ldwc_child[] )             for i = 1 to upperbound( ldwc_child )               if isvalid( ldwc_child[i] ) then                  ldwc_child[i].settransobject( sqlca )                  //遏止列挪动                  ldwc_child[i].modify("datawindow.grid.columnmove=no")                  //遏止鼠标全采用                  ldwc_child[i].modify("datawindow.selected.mouse=no")                  //安排表头莫大为0                  ldwc_child[i].modify("datawindow.header.height=’0’")                  //安排数据区莫大                  ldwc_child[i].modify("datawindow.detail.height=’68’")                  //datawindowchild的列数                  li_column_cnt = integer( ldwc_child[1].describe("datawindow.column.count") )                  //安排datawindowchild的列款式                  for j = 1 to li_column_cnt                        //安排列款式                         ls_child_column_name = ldwc_child[i].describe ("#" + string (j) + ".name")                              if ls_child_column_name = " " or ls_child_column_name = "!" then                        ls_child_column_name = ’’               else                  ls_child_column_name = ldwc_child[i].describe ( ls_child_column_name + ".name" )               end if                     ldwc_child[i].modify( ls_child_column_name + ".font.face=’宋体’" )               ldwc_child[i].modify( ls_child_column_name + ".font.height=’-9’" )               ldwc_child[i].modify( ls_child_column_name + ".y=’4’" )               ldwc_child[i].modify( ls_child_column_name + ".height=’56’")               ldwc_child[i].modify( ls_child_column_name + ".background.mode=’0’" )              ldwc_child[i].modify( ls_child_column_name + ".background.color=’" + ls_col_bgcolor + "’" )              next           end if          next          return 1

datawindow style帮你格式化数据窗口样式图1

热门阅览

最新排行

Copyright © 2019-2021 大雀软件园(www.daque.cn) All Rights Reserved.