狠狠爱成人网_日韩一级在线_国产综合自拍_亚洲精品韩国_亚洲视频导航_麻豆成人在线播放_欧美jjzz_一区在线视频观看_美脚丝袜一区二区三区在线观看_欧美91视频

當前位置:系統(tǒng)之家 > 技術開發(fā)教程 > 詳細頁面

DataWindow Style幫你格式化數(shù)據(jù)窗口樣式

DataWindow Style幫你格式化數(shù)據(jù)窗口樣式

更新時間:2024-04-12 文章作者:未知 信息來源:網(wǎng)絡 閱讀次數(shù):

  在使用DataWindow時,通常我們都是手工在數(shù)據(jù)窗口畫板中來調整數(shù)據(jù)窗口對象的樣式(列寬、列高、標題、顏色等等)。但是在大型的應用中,往往會有眾多的數(shù)據(jù)窗口,而反復的手工去調整這些數(shù)據(jù)窗口會給我們的開發(fā)工作帶來極大的不便,即使耐心的一個一個地修改了數(shù)據(jù)窗口對象的樣式,也難免不能做到精確的統(tǒng)一,這樣即不符合功能復用的精神,也給系統(tǒng)的使用效果帶來一定的影響。
      為了很好的解決這一問題,特提出了此解決方案,此方案是專門針對Grid類型的數(shù)據(jù)窗口的,在此基類中,通過代碼遍歷數(shù)據(jù)窗口的所有可視列,來改變列以及列標題的樣式,以及改變擁有下拉子數(shù)據(jù)窗口的列中的數(shù)據(jù)窗口的樣式,從而達到格式化數(shù)據(jù)窗口樣式的目的。
      你可以在以下的圖示中觀察到這一功能的最終效果: 
 

DataWindow Style幫你格式化數(shù)據(jù)窗口樣式

                圖1.DataWindow Style效果示例
      實現(xiàn)機制:
      1.首先要有一個數(shù)據(jù)窗口的基類,作為以后封裝各類數(shù)據(jù)窗口相關的特征代碼的容器。
      2.所有要格式化的DWObject的屬性均需設置為變量的形式,并為他們賦值。
      3.通過Describe("DataWindow.Column.Count") 函數(shù)來得到數(shù)據(jù)窗口的列數(shù),并遍歷列,使用Modify(" ")函數(shù)來實現(xiàn)改變DWObject其相關的屬性(例如:執(zhí)行Modify( "id_t .Font.Face=’宋體’" )來改變id_t的字體 )。
      4.重復3的過程,但不同的是,這次遍歷的是子數(shù)據(jù)窗口的列,也就是DataWindowChild對象,注意:別忘記了先判斷數(shù)據(jù)窗口是否擁有DataWindowChild,有的話記住先得到他們。
      5.也是最后一步,你是否需要保存數(shù)據(jù)窗口的樣式呢?( 比如:保持同樣的列寬,下次再打開此窗口時可以保持與上次調整的列寬一樣。) 這里只是做了一個提醒,至于如何具體實現(xiàn),本例中不做說明了,或許以后有專門講解系統(tǒng)配置方面的專題中再加以說明吧。
      主要代碼實現(xiàn):
      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.主要函數(shù):
      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                  //列數(shù)
            string           ls_column_name               //列名
            string           ls_column_width               //列寬
            string           ls_child_column_name      //子數(shù)據(jù)窗口列名
            string           ls_column_headername     //列標題
            string           ls_colheader_fontcolor      //列標題字體顏色
            string           ls_colheader_bgcolor        //列標題背景顏色
            string           ls_col_bgcolor                  //列背景顏色
            datawindowchild  ldwc_child[]             //子數(shù)據(jù)窗口
            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
            //帶區(qū)樣式
            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’")
                 //調整數(shù)據(jù)區(qū)高度
                 ldwc_child[i].modify("DataWindow.Detail.Height=’68’")
                 //datawindowchild的列數(shù)
                 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

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統(tǒng)下載排行

狠狠爱成人网_日韩一级在线_国产综合自拍_亚洲精品韩国_亚洲视频导航_麻豆成人在线播放_欧美jjzz_一区在线视频观看_美脚丝袜一区二区三区在线观看_欧美91视频
欧美少妇一区| 91国内精品野花午夜精品| 国产精品亚洲午夜一区二区三区| 一区二区高清免费观看影视大全| 国产精品嫩草影院com| 国产精品视频一区二区三区不卡| 国产三区在线成人av| 国产亚洲精品aa午夜观看| 久久人人爽爽爽人久久久| 久久亚洲精华国产精华液| 日本一区二区在线不卡| 自拍偷在线精品自拍偷无码专区| 中文字幕在线一区二区三区| 一区二区三区在线高清| 石原莉奈在线亚洲三区| 精品一区二区三区蜜桃| 国产成人综合视频| 欧美一区视频| 国产精品乱码| 欧美少妇xxx| 久久综合久久综合九色| 日本一区二区三区免费乱视频| 1区2区3区欧美| 天堂久久一区二区三区| 国产一区二区在线电影| 牛人盗摄一区二区三区视频| 亚洲激情另类| 91传媒视频在线播放| 欧美一区二区人人喊爽| 国产欧美精品日韩区二区麻豆天美| 亚洲三级免费观看| 蜜臀久久久99精品久久久久久| 国产成人免费视频一区| 欧美极品一区| 久久精品一区| 精品国产精品一区二区夜夜嗨| 亚洲欧洲av色图| 久久精品免费观看| 欧美体内she精视频在线观看| 国产欧美日韩综合一区在线播放| 欧美日韩欧美一区二区| 国产亚洲精品福利| 日本女优在线视频一区二区| 99精品视频在线观看| 国产精品毛片| 久久只精品国产| 亚洲电影一级片| 99久久久久久99| 色婷婷亚洲婷婷| 久久九九久久九九| 美腿丝袜一区二区三区| 国产精品vip| 欧美一区日本一区韩国一区| 亚洲成人av电影| 成人av网站在线| 久久九九国产| 国产欧美综合色| 韩国三级电影一区二区| 好看不卡的中文字幕| 欧美日韩国产123区| 亚洲六月丁香色婷婷综合久久 | 亚洲影视在线播放| 成年人午夜久久久| 欧美优质美女网站| 亚洲嫩草精品久久| 成人性生交大合| 色偷偷久久一区二区三区| 国产精品激情偷乱一区二区∴| 国产剧情av麻豆香蕉精品| 亚洲综合首页| 国产蜜臀97一区二区三区| 国产精品一区在线观看乱码| 亚洲在线黄色| 亚洲日韩欧美一区二区在线| 成人av免费在线观看| 欧美色图第一页| 污片在线观看一区二区| 亚洲国产一区二区三区高清| 精品对白一区国产伦| 精品一二三四在线| 欧洲人成人精品| 天堂精品中文字幕在线| 国产欧美不卡| 亚洲免费观看高清完整| 午夜久久影院| 久久在线免费观看| www.欧美色图| 欧美一区二区三区视频在线观看| 毛片不卡一区二区| 久久婷婷影院| 五月天丁香久久| 午夜一区不卡| 午夜久久久久久久久久一区二区| 99亚洲视频| 亚洲精品自拍动漫在线| 亚洲福利电影| 一区二区三区四区国产精品| 中文有码久久| 亚洲一区二区三区小说| 鲁大师成人一区二区三区| 亚洲成人黄色小说| 久久综合电影| 麻豆精品国产传媒mv男同| 色国产综合视频| 麻豆成人av在线| 欧美精品777| 成人一区二区三区| 国产日韩一级二级三级| 好吊色欧美一区二区三区视频| 国产精品久久久久久户外露出 | 欧美成人三级电影在线| aaa国产一区| 中文字幕亚洲一区二区va在线| 亚洲一二三区精品| 一区二区三区日本| 91官网在线观看| 国产乱码精品一区二区三区五月婷 | 91亚洲永久精品| 中文字幕在线不卡视频| 一区二区黄色| 奇米影视7777精品一区二区| 91精品中文字幕一区二区三区| 成人av在线资源网| 国产精品成人免费在线| 久久riav二区三区| 国产精品一区二区黑丝| 欧美国产精品中文字幕| 国产欧美午夜| 国产麻豆成人精品| 日本一区二区综合亚洲| 美女久久一区| 成人午夜免费电影| 亚洲桃色在线一区| 欧美午夜不卡视频| 91浏览器打开| 日韩av电影天堂| 日韩欧美国产综合一区| 国产精品v亚洲精品v日韩精品| 舔着乳尖日韩一区| 亚洲精品一区在线观看| 国产精品日韩精品欧美精品| 国产一区二区三区美女| 《视频一区视频二区| 欧美系列在线观看| 欧美日韩一区在线观看视频| 日韩电影网1区2区| 久久久久久亚洲综合| 久久精品一区| 91麻豆产精品久久久久久| 五月天激情综合| 欧美经典一区二区三区| 色狠狠av一区二区三区| 欧美区亚洲区| 国产呦精品一区二区三区网站| 亚洲男帅同性gay1069| 日韩欧美资源站| 老司机一区二区三区| 色综合天天综合网国产成人综合天 | 中文字幕视频一区| 91精品国产入口| 亚洲综合三区| 黄色工厂这里只有精品| 国产高清精品网站| 日韩精品91亚洲二区在线观看| 欧美国产综合一区二区| 欧美男人的天堂一二区| 国产亚洲在线观看| 女人天堂亚洲aⅴ在线观看| 国内精品久久久久影院色| 一区二区三区四区国产精品| 久久久久久久国产精品影院| 欧美挠脚心视频网站| 久久黄色网页| 99视频精品| 激情久久婷婷| 欧美 日韩 国产一区二区在线视频| 激情久久久久久久久久久久久久久久| 一区二区三区欧美激情| 亚洲国产精品t66y| 久久蜜桃av一区二区天堂| 欧美丰满高潮xxxx喷水动漫 | 一区二区三区四区在线| 中文字幕第一区| 精品99久久久久久| 日韩欧美一区二区久久婷婷| 欧美日韩国产综合草草| 在线观看日韩电影| 久久久噜噜噜| 久久精品欧美| 久久久久久色| 色综合久久久久综合| 香蕉国产精品偷在线观看不卡| 狠狠爱综合网| 好吊日精品视频| 狠狠入ady亚洲精品| 欧美性大战久久久久| 欧美高清日韩| 亚洲天堂偷拍| 亚洲经典在线| aa成人免费视频|