PB数据窗口9种风格

Grid:
表格风格
字段横向排列在detail band中,标签横向排列在header band中,和字段相对应,字段和字段之间有网格线分隔,类似于电子表格。在数据窗口的预览状态下可以调整字段的顺序,并且自动反馈到数据窗口的设计状态中,调整字段顺序时,对应的标签顺序也相应地自动调整。缺省情况下,字段不能随意移动,只能在detail band中做上下移动。这种显示样式的数据窗口布局整齐,但不能灵活地安排字段、标签、表头的布局,所以常用来显示数据或录入数据,而很少用来做报表。Grid显示样式的数据窗口中,表头只能和标签放置在同一个header band中,在放置表头处仍然有网格线。
----------


Tabular: 
列表(Tabular)风格
在列表风格中,数据按列排列在数据窗口中,每列的上方都有一个标题,说明该列的数据。每屏显示的数据行数取决于数据窗口的大小,而且支持运行时由用户调整各列位置。另外,在每页中都可以显示页标题。列表风格的数据窗口常用于数据输入,有时也用于生成报表
表格风格数据窗口中,数据的行与列之间通过网格线分隔,数据的每一项都位于其中一个网格中,运行时用户通过拖曳操作既能改变列的宽度,也能调整列的左右位置,但是,在设计数据窗口对象时我们不能移动列以及列标题的左右次序,这一点有别于列表风格和自由风格。表格风格的数据窗口既可用于数据输入,又能作为报表输出

当刚刚创建这种样式的数据窗口时,字段、标签的布局和 Grid显示样式的数据窗口相同,都是横向排列的,但是字段之间没有网格线分隔。字段和标签的布局可以随意调整,在header band中的标签可以随意拖放到detail band中,detail band中的字段也可以拖动到header band中。这种显示格式的数据窗口布局安排非常灵活,开发人员可以根据需要设计字段和标签的布局,然后手工画线制作表格,在制作中国式报表时经常使用,虽然比较烦琐,但是表格比较美观,比较适合中国式报表的要求,另外,这种格式的数据窗口在数据录入、查询时也经常使用。
----------


Group:
分组(Group)风格
Group主要用于分组 

分组(Group)风格分组风格的数据窗口提供了一种对数据进行分组的简便途径,在这种风格下,数据被分成一个一个的组,组中可以带有统计数据。实际上,我们可以把它看成是带有分组特性的列表风格。当选择了此风格且定义了数据集后,系统将弹出“Group Report”对话框,在这个对话框中指定按哪些列进行分组。

Group分组显示样式的数据窗口可以指定按哪个(或哪些)字段进行分组,可以用指定的分组条件将数据分组显示,并且允许为每组指定一些计算。例如,要显示某公司在各地区的销售数据,可以按地区分组,为每个分组指定统计计算,在地区改变时显示地区的销售总金额。
当选择多个字段时,这几个字段共同作为分组的条件,而不是以每个字段都创建一个分组。使用Group类型只能创建一个分组,要创建多个分组必须在DataWindow画板中完成。
----------


Freefrom:
自由格式(Freeform)
自由格式的显示样式十分灵活,所有字段前面都加有字段标题(称为标签),并且以垂直方式排列在数据窗口中。在数据窗口画笔里,我们能够根据需要灵活地安排字段、标签、以及其它对象的位置。一般情况下,自由格式的数据窗口一屏显示一条记录,常用于单记录输入

前面讨论的三种显示样式都是一次可以显示多行数据的。对于比较重要的数据,用户可能需要一次只编辑一行这时可以使用Freefrom显示样式的数据窗口。该类型的数据窗口将标签放置在字段的左例,字段和标签放置在同一个detail band中,先从上到下再从左到右依次排列。实际上,这种显示样式的数据窗口布局也很灵活,可以随意安排字段和标签的位置。这种显示样式的数据窗口在卡片式数据的录入和显示方面也经常使用。
----------


Label:
标签风格
Label主要用于标签
标签风格的数据窗口以标签形式显示每行数据,用它可以制作各种标签。如果选择了标签风格,则在定义数据源后,还必须在“Specify LabelSpecifications”对话框中定义标签的各项参数。在这个对话框中,系统列出了许多预定义的通用邮件标签,我们可以从中选择一个。如果其中没有合适的格式,则完全能够进行手工调整,以满足特定的需求。

如果用户想要生成邮件标签,可以使用Label显示样式的数据窗口来实现。
----------


N-Up:
这是可以在同一页上显示多列相同字段的一种特殊的显示样式。当要显示的字段比较少或者不同行之间的数据需要做比较时,经常使用这种显示样式。使用向导可以创建N-up显示样式的数据窗口,需要指定的一个重要参数是每行重复显示的字段的次数,也就是Number of rows per detail band,缺省为2。该参数的大小视需要显示的字段总长度和报表使用的打印纸宽度而定。N-up显示样式的数据从左到右显示。另外,当选中行数据时,并不能选中实际上看到的一整行,而是逻辑上的一行。
----------


CrossTab:
交叉列表

交叉列表(Crosstab)风格交叉列表风格支持按行和/或按列分析数据,该风格的数据窗口对数据进行加工处理后以汇总形式展现出来。当选择了此风格并定义了数据集后,系统将弹出“Crosstab Definition”对话框,在这个对话框中分配交叉列表中的行、列及行列交叉点的数据值,通过双击分配后的行、列或值可以编辑相应的表达式。

当需要做数据统计和分析时,最好使用CrossTab显示样式的数据窗口,虽然报表在显示格式方面不适合中国人的口味,但还没有哪个C/S数据库开发软件将数据统计分析做得如此之好。使用CrossTab显示样式可以创建复杂的分类统计表,不管是表头分类还是行分类。创建CrossTab显示样式的数据窗口时,有几个重要参数需要指定。这些重要参数是行、列和统计值。每个参数可以指定多个字段,也可以使用表达式。当指定多个字段(或表达式)时,字段的顺序决定在表中的分组顺序。比如,统计某销售公司某年各个月份各种产品、不同花色在各个地区的销售情况,可以用月份和地区作为列,用产品名称和花色作为行。在Columns列表框中按Month、Region的顺序加入字段,没有Month可以使用表达式Month(sales_date)来获取销售时的月份。Rows列表框中的字段对应数据窗口中左侧的表头,Columns列表框中的字段对应数据窗口中上面 表头,Values是出现在数据窗口表格单元中的统计值;Source Data列表框中是可以使用的字段,使用鼠标选中并拖动到相应的列表框即可。在Rows、Columns、Values三个列表框中都可以用鼠标双击已有字段,可以在接下来的对话框中输入组合表达式。比如,使用year作为Columns是可以的,也可以双击然后在上面的窗口中输入下面的表达式:year+"年"
----------


Graph:
统计图(Graph)风格
统计图风格的数据窗口以统计图的形式表现数据,在这里,数据不是通过行、列一个个孤立地显示出来,而是以图形的方式呈现在用户面前。该风格的数据窗口提供了多种统计图,包括:面积图(Area)、条形图(Bar)、列形图(Column)、线形图(Line)、饼图(Pie)、散点图(Scatter)、堆积图(Stacked)以及上述图形的三维形式。

Graph显示样式的数据窗口可以以多种图形样式将数据显示出来,例如饼图、柱状图、折线图等。Graph显示样式的数据窗口给用户的感觉是使用方便、表达直观。从开发者的角度来讲,创建Graph显示样式的数据窗口也是很简单的事情,所以在开发应用程序时不要忘记这费力不多却很受用户欢迎的显示样式。创建Graph显示样式的数据窗口时,最重要的参数是Category、Values及Series。在创建向导中可以指定这几个参数。指明这三个参数的操作很简单,在下拉列表框中选择合适的字段即可。Category可以理解成显示在横向坐标铀上的字段,Values可以理解成显示在纵向坐标轴上的字段,而Series是横向坐标轴上同组比较时的分组标准。
----------


Composite:
复合(Composite)风格
复合风格的数据窗口没有自己的数据源,它通过特殊方式将其它数据窗口对象组合起来,从而创建形式更复杂的数据窗口。

    这种显示样式的数据窗口可以将多种类型的、多个逻辑上毫不相关的数据窗口放置到一起,是一种灵活的数据表现形式。因为Composite显示样式的数据窗口不允许修改其中的数据,所以不能用于数据录入和数据修改,只能在报表时使用这种显示祥式的数据窗口。使用这种显示样式的数据窗口创建报表,经常将对同一问题不同表现形式的数据窗口或者是关系紧密的数据放到一起。例如,将几个关键数据的统计结果以Graph显示样式显示在最上面,用CrossTab类型的数据窗口将比较详细的数据统计结果显示在中间,然后是Grid类型的详细数据,这样的报表数据表现能力要比任何单一的一种数据窗口要强得多。
----------


RichText:
超文本(RichText)风格
RichText主要用于处理一些大文本
超文本风格的数据窗口能够处理超文本数据,它可以利用Windows系统的字体、字型、颜色等属性以丰富多采的形式显示与编辑超文本,并且能够将数据库中的数据插入到超文本文档中。

RichText祥式的数据窗口使数据库中的数据和文字可以在一起排版,可以方便地特数据库中的数据和文字内容一起形成文档、报告等;提供了很强的文字编辑处理能力,可以很方便地处理文字的多种格式:可以开发更有表现力的应用系统,自动生成报告、文档资料,省去了使用PowerBuilder的应用程序却需要切换到其他文字处理软件中的麻烦。
----------


OLE 2.0:

OLE 2.0风格的数据窗口既能够显示非数据库数据(比如Word文档),也能够显示数据库中的BLOB(二进制大对象)列。

OLE是Object Link and Embedding的字头缩写,表示对象链接和嵌入。使用这种技术,可以将其他软件的功能引入到PowerBuilder开发的应用程序中。PowerBuilder中不仅提供了OLE 2.0显示样式的数据窗口,而且在窗口中提供了OLE 2.0控件。例如,在数据库中保存的图像在OLE 2.0显示样式的数据窗口中,可以借助一些专门的图像处理软件来处理,并可以把处理结果返回保存到数据库中。只有当数据库的表中包含blob类型的字段时,才有必要使用OLE 2.0显示样式的数据窗口。将blob类型的字段作为OLE 2.0列,在处理其中的数据时,可以直接触发调用相关的软件进行处理,并能够将处理结果返回保存到数据库中。例如,某字段中保存的是Excel文档,可以创建OLE 2.0显示样式的数据窗口,当双击该字段时可以调用Excel,然后在Excel中编辑处理数据,保存编辑结果返回到数据窗口时,可以将结果反映到数据窗口中。创建OLE 2.0显示样式的数据窗口,需要指定三类参数。Source Data框中显示的是所有可用字段,可以使用鼠标选中并拖动到其他两个列表框中;Group by列框中显示的是用来分组的字段,由于OLE 2.0数据窗口的特殊性,它的分组不在设计时创建,只能在向导中创建;Target Data框中显示的是在数据窗口中要显示的字段,使用了分组,则对该框中的字段做统计(字符串型的列将统计记录数,数值型的列将统计累加和),没有使用分组,则直接显示它们的值。接下来要设置的是和OLE对象关系紧密的内容

  • 2
    点赞
  • 0
    评论
  • 10
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

数据窗口源码介绍 (举例见d_dbit_example.srd,测试数据库为PB自带的EAS Demo DB V120) 1.第一行:release 12; 数据窗口所属PB的版本号,如果想把高版本的datawindow导入低版本的PB中要修改此数字; 2.datawindow()行 通常用修改processing属性,可以把你的数据窗口由grid变成freeform或其它类型 例:freeform:0 grid:1 3.header()行 可以整行复制粘贴,并命名为header[1],header[2],这样可以让数据窗口有多个header 4.table()行 这里全是定义的数据属性,是setitem,update,object.data等方法访问的根源 如果存在table()里的column,数据窗口里可以不存在任何对象,仍然可以访问数据窗口数据 如果想创建一个空的数据窗口,可以只定义: release 12; table() 5.table(column行) 是第几个column,它的ID就是多少,其中也定义了是否可以update时和更新到数据表的字段名 6.table(retrieve行) 检索数据时使用的SQL语句,可以通过setsqlselect或modify("table.sqlselect")方法去动态修改 修改后要重新定义数据窗口的更新属性 7.column()行 id即是对应table(column行)里的行次,名称(name)可以随便命名,也可以没有,则默认为table(column行)里的name 8.compute()行 计算列,可以通过表达式计算显示特定值(具体函数可以见共享里的画笔函数). 9.text()行 有时可以代替计算列; 通过定义text的表达式,可以实现一列中显示两个字段值,注意结果必须要转换成string类型(而column和compute则不行); 10.htmltable()行 按照格式导出(saveas)html文件,为了保证格式的完整,数据窗口的单位最好设置成pixels GenerateCSS=9;19; //保持格式及颜色 Border=9;09; //不要table边框 CellSpacing=9;09; //单元格无间距(此项在界面上经常设置不上) 注: (1)Grid生成<Table>标签,Freeform生成<DIV> + <SPAN>标签; (2)生成htmltable时,不知为何会在CSS中的开始自动加一个分号";",导致excel等浏览器打开不能正常显示格式; (3)band为foreground或background的对象导不出来,可以动态修改后再导出. 11.export.xml()行 定义导出xml文件的格式,并为模板保存名称 使用时一定要设置usetemplate值 12.import.xml()行 定义导入xml文件的格式,并为模板保存名称 使用时一定要设置usetemplate值 13.表达式介绍 略 14.其它也略
©️2021 CSDN 皮肤主题: 书香水墨 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值