PB 数据窗口语法解释

PB 专栏收录该内容
175 篇文章 8 订阅
 release 7;   
  很重要,留着,虽然看上去用处不大,只说明了一下生成器的版本,但却不能缺少,如果你用的不是PB7,后面的版本应该是你所以得PB版本的主版本号   
  datawindow(units=0 timer_interval=0 color=16777215 processing=1 HTMLDW=no print.documentname="" print.orientation print.margin.left 110 print.margin.right 110 print.margin.top 96 print.margin.bottom 96 print.**.source print.**.size print.prompt=no print.buttons=no print.preview.buttons=no grid.lines=0   
  嗬!好长的一句,这个大家伙说明的这个DW的主体信息,包括显示点单位、DW背景色、DW处理方式、打印设置等信息,我们一个个地分析   
   
  datawindow( 这是这句话的开头,说明这句话是用来描述DW主体信息的,以括号开头,以反括号结束   
  units=0 描述当前DW使用的点类型,0->PB点,大约等于1/4象素 1->屏幕象素 2->1/1000英寸 3->1/1000屏幕象素   
  timer_interval=0 时间中断频率,在这里不讨论这个,如果你需要你的DW一闪一闪亮晶晶,这个可是有用的东东   
  color=16777215 很重要,整个DW的背景色就指着她那   
  processing=1 VIP,整个DW的显示风格由她决定 0->FreeForm 或 Tabular (下面只讨论这种风格) 1->GRID 其他的我就不说了,可以看HELP   
  HTMLDW=no 对我们的讨论没有意义,不管他   
  print.* 如果你不需要打印这个DW,不用设置它,你哪怕删掉这些内容也没有影响   
  grid.lines=0 如果你选用了GRID风格,这个设置项决定是否显示表格线,如果是GRID的话,没有这个表格线好难看   
  EASY,就是这句话讲完了啦 8-)   

  header(height=80 color="536870912"   
  声明DW标题带区的高度和背景色信息   

  summary(height=0 color="536870912"   
  声明DW合计带区的高度和背景色信息   

  footer(height=0 color="536870912"   
  声明DW页脚带区的高度和背景色信息   
   
  detail(height=92 color="536870912"   
  声明DW明细数据带区的高度和背景色信息   
   
table(column=(type=decimal(0) updatewhereclause=yes name=id dbname="id"   
  column=(type=char(128) updatewhereclause=yes name=name dbname="name"   
  retrieve="SELECT id,name FROM sysobjects"   
   
  又一个长句子,我们继续逐个说明   
  table( 这句话的开头,说明这句话是用来描述当前DW的数据结构及数据源定义   
  column=( 第一个列描述的开头,说明这个列的数据源、数据类型、使用的名称和查询中的名称   
  type=decimal(0) 类型说明,当前列的类型是没有小数位的小数型(奇怪,怎么不用LONG)   
  updatewhereclause=yes 始终未在正式的文档中发现过与这个项目相关的说明,把这项去掉好像也没什么影响   
  name=id 这个列在DW中的别名,可以与数据源中的列名不同   
  dbname="id" 这个列对应数据源中列名   
  这一列完毕   
  column=( 第二列说明的开始   
  type=char(128) 类型说明,说明这个列的数据类型为最长128字节的字符型列   
  updatewhereclause=yes 不说它了   
  name=name 列的别名   
  dbname="name" 列的数据源名   
  第二列说明结束   
  retrieve= 这个DW的数据源定义   
  "SELECT id,name FROM sysobjects" 对应的SQL语句   
  数据源定义说明结束   
   
   
  补充两句   
  从这句话的结构不难看出,列描述的顺序是与SELECT语句中各列的排列顺序是相同的   
  而且,在这里其实隐含着一个列ID号,标识各列的位置,这个ID号在后面将用到   
  另外,目前例子中的这个DW是不可以UPDATE的,如果我们把这个DW强制修改为可以UPDATE,将会发现   
  在列描述语句中多了一下内容:   
  update=yes key=yes   
  其中:update=yes 说明这列为可以UPDATE的列之一   
  key=yes 说明该列为UPDATE时对应表的主键设置之一   
  然后在数据源定义语句(RETRIEVE)中多了以下内容:   
  update="sysobjects" updatewhere=0 updatekeyinplace=no   
  其中   
  update="sysobjects" 说明需要保存的对于数据库表   
  updatewhere=0 对应DW中UPDATE属性定义窗口中"Where Clause for Update/Delete",这个参数将影响并发情况下数据的安全和运行效率,在讨论并发处理的帖子或文章中有介绍,在这里我们就不赘述了   
  updatekeyinplace=no 对应DW中UPDATE属性定义窗口中"Key Modification",在这里我们就不讨论这个了   
text(band=header alignment="2" text="Id" border="0" color="0" x="9" y="8" height="64" width="261" name=id_t font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912"   
  很混乱的一句话,说明了一个TEXT文本对象的各种属性,下面逐个说明:   
  text( 一个文本对象说明的开始   
  band=header 该文本对象在DW中放置的带区   
  alignment="2" 对齐方式,目前为中央对齐   
  text="Id" 文本显示内容   
  border="0" 边框类型,目前为没有边框   
  color="0" 文本色,目前为黑色   
  x="9" 放置位置X坐标(相对于指定的带区)   
  y="8" 放置位置Y坐标(相对于指定的带区)   
  height="64" 该文本对象的高度   
  width="261" 宽度   
  name=id_t 对象的名称   
  font.face="Arial" 字体   
  font.height="-10" 字体大小   
  font.weight="400" 是否加粗,如果使用加粗(BOLD)则为700,如果不加粗,则为400   
  font.family="2" 字体的家族,由于Windows是通过使用字体名称(Font Face)和字体家族(Font Family)来决定某一个具体的字体的,所以需要指定该参数,一般情况下,中文字体(比如:宋体)对应的Family 为0(anyfont!)   
  font.pitch="2" 不知道该怎么翻译,一般情况下,根据具体的字体决定该属性的值,比如宋体就使用2(Variable)   
  font.charset="0" 字符集,根据具体的字体所决定的,比如宋体就用0就可以了   
  background.mode="1" 背景模式,这个属性比较重要,决定该对象是否使用透明色,如果为1则为透明,如果为0则使用下面所指定的颜色,在实际使用中还会遇到值为2的情况,这种情况下,该对象将使用系统颜色,系统颜色的对应值在下面的background.color属性中指定,比如常用的按钮表面色ButtonFace,对应值为:79741120,不过这个值在不同情况下有些区别,具体为什么没有深入研究过,希望了解或有兴趣的朋友能给讲讲   
  background.color="53687091" 背景色,如果背景模式为1(透明),则该值没什么作用,如果背景模式为0,则该对象的背景色为当前指定的颜色,如果背景模式为2,则为系统色对应的标识   
  这个文本对象的说明结束   
   
  text(band=header alignment="2" text="Name" border="0" color="0" x="279" y="8" height="64" width="3511" name=name_t font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912"   
  跟上一句类似,不再重复了   
   
   
  column(band=detail id=1 alignment="1" tabsequence=32766 border="0" color="0" x="9" y="8" height="76" width="261" format="[general]" name=id edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912"   
  进入正题了,列对象的说明,下面我们也来先每个属性都看一遍   
   
  column( 一个可以显示在DW中的列对象说明的开始   
  band=detail 这个列对象在DW中放置的带区,简单说就是放在明细行中还是放在标题或者汇总行中   
  id=1 这个列对象对应的数据源ID号,这个属性很重要,如果设置错误了,那么你看到的数据就将与你预期的不同,这个ID号的顺序是由数据源中列的选择顺序决定的,比如这个1,就说明对应数据源SQL语句中所选择的第一个字段(ID)   
  alignment="1" 对齐方式(0->左对齐 1->右对齐 2->中央对齐 3->自适应对齐,即在多行情况下,各行宽度尽量相同)   
  tabsequence=32766 就是TAB ORDER,32766就是TabOrder 0,所以在取值时一定要小于这个值,并且要大于0,否则光标就不能选中这列了   
  border="0" 边框类型,这里设置的是没有边框   
  color="0" 文字颜色,根据RGB值设定   
  x="9" 放置位置的X值   
  y="8" 放置位置的Y值   
  height="76" 对象高度   
  width="261" 对象宽度   
  format="[general]" 数据内容显示格式   
  name=id 列对象命名,这个名字应该与DW数据源定义中各列的name设置相同   
  edit.limit=0 输入字符**,0为不**(实际上最多32760左右个字)   
  edit.case=any   
  edit.focusrectangle=no   
  edit.autoselect=yes   
  edit.autohscroll=yes   
   
  font.face="Arial" 字体格式说明,不详细说了   
  font.height="-10"   
  font.weight="400"   
  font.family="2"   
  font.pitch="2"   
  font.charset="0"   
   
  background.mode="1" 背景模式,与文本相类似   
  background.color="536870912" 背景颜色,与文本相类似   
    
   
   
   

  column(band=detail id=2 alignment="0" tabsequence=32766 border="0" color="0" x="279" y="8" height="76" width="3511" format="[general]" name=name edit.limit=128   
  edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912"   
   
   
   
  htmltable(border="1"   
  htmlgen(clientevents="1" clientvalidation="1" clientcomputedfields="1" clientformatting="0" clientscriptable="0" generatejavascript="1" )  
  • 0
    点赞
  • 0
    评论
  • 4
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值