《PB数据窗口对象》由会员分享,可在线阅读,更多相关《PB数据窗口对象(22页珍藏版)》请在金锄头文库上搜索。
1、PB-数据窗口对象(一)/数据窗口对象的数据源PB提供5种数据源:Quick Select (快速选择类型)、SQL Select(SQL选择类型)、 Query(查询类型)、External(外部类型)和Stored Procedure(存储过程类型)Quick Select只能从一个数据表或者视图中选取数据(无关联的表或者视图)?SQL Select1、选择表 可以一次选择多个表2、选择字段Select All /选择所有字段Select Tables /重新选择表Convert to Syntax /进入 SQL 语法状态 Compu te /计算字段,右键-Columns /选择字段
2、右键-Func ti ons /选择函数3、指定检索条件Retrieval Arguments /定义检索参数变量的类型和名称 where /检索条件,右键-Columns /选择字段 右键-Func ti ons /选择函数 右键-Argumen ts /选择参数 右键-Value /选择值右键-Select /从其他表中选择QueryPB可以将特定的SQL语句保存为Query对象,不同的Query数据源的数据窗口 都可以使用这些已经保存好的SQL语句来提取数据External当和不存在于数据库中的数据打交道或者要利用数据窗口的某些特性但不进行 数据处理时,使用此数据源。无SQL语句。Sto
3、red Procedure使用已经定义好的存储过程来做数据源/数据窗口对象的显示样式数据窗口对象显示样式有 11 种:Grid、Tabular、Group、Freefrom、Label、N-Up、 Crosstab、 Graph、 Composite、 RichText、 OLE2.0Grid:字段横向排列在detail band中,标签横向排列在header band中,和字段相对 应,字段和字段之间有网格线分隔,类似于电子表格。在数据窗口的预览状态下 可以调整字段的顺序,并且自动反馈到数据窗口的设计状态中,调整字段顺序时, 对应的标签顺序也相应地自动调整。缺省情况下,字段不能随意移动,只能
4、在 detail band中做上下移动。这种显示样式的数据窗口布局整齐,但不能灵活地 安排字段、标签、表头的布局,所以常用来显示数据或录入数据,而很少用来做 报表。Grid显示样式的数据窗口中,表头只能和标签放置在同一个header band 中,在放置表头处仍然有网格线。Tabular:当刚刚创建这种样式的数据窗口时,字段、标签的布局和Grid显示样式的数据 窗口相同,都是横向排列的,但是字段之间没有网格线分隔。字段和标签的布局 可以随意调整,在header band中的标签可以随意拖放到detail band中,detail band 中的字段也可以拖动到 header band 中。这种
5、显示格式的数据窗口布局安 排非常灵活,开发人员可以根据需要设计字段和标签的布局,然后手工画线制作 表格,在制作中国式报表时经常使用,虽然比较烦琐,但是表格比较美观,比较适合中国式报表的要 求,另外,这种格式的数据窗口在数据录入、查询时也经常使用。Group:Group分组显示样式的数据窗口可以指定按哪个(或哪些)字段进行分组,可以用 指定的分组条件将数据分组显示,并且允许为每组指定一些计算。例如,要显示 某公司在各地区的销售数据,可以按地区分组,为每个分组指定统计计算,在地 区改变时显示地区的销售总金额。当选择多个字段时,这几个字段共同作为分组的条件,而不是以每个字段都创建 一个分组。使用 G
6、roup 类型只能创建一个分组,要创建多个分组必须在DataWindow画板中完成。Freefrom: 前面讨论的三种显示样式都是一次可以显示多行数据的。对于比较重要的数据, 用户可能需要一次只编辑一行这时可以使用Freefrom显示样式的数据窗口。该 类型的数据窗口将标签放置在字段的左例,字段和标签放置在同一个detail band 中,先从上到下再从左到右依次排列。实际上,这种显示样式的数据窗口 布局也很灵活,可以随意安排字段和标签的位置。这种显示样式的数据窗口在卡 片式数据的录入和显示方面也经常使用。Label:如果用户想要生成邮件标签,可以使用Label显示样式的数据窗口来实现。N-U
7、p: 这是可以在同一页上显示多列相同字段的一种特殊的显示样式。当要显示的字段 比较少或者不同行之间的数据需要做比较时,经常使用这种显示样式。使用向导 可以创建N-up显示样式的数据窗口,需要指定的一个重要参数是每行重复显示 的字段的次数,也就是Number of rows per de tail band缺省为2。该参数的 大小视需要显示的字段总长度和报表使用的打印纸宽度而定。N-up显示样式的 数据从左到右显示。另外,当选中行数据时,并不能选中实际上看到的一整行, 而是逻辑上的一行。CrossTab:当需要做数据统计和分析时,最好使用 CrossTab 显示样式的数据窗口,虽然报 表在显示格
8、式方面不适合中国人的口味,但还没有哪个C/S数据库开发软件将数 据统计分析做得如此之好。使用 CrossTab 显示样式可以创建复杂的分类统计表, 不管是表头分类还是行分类。创建CrossTab显示样式的数据窗口时,有几个重要参数需要指定。这些重要参 数是行、列和统计值。每个参数可以指定多个字段,也可以使用表达式。当指定 多个字段(或表达式)时,字段的顺序决定在表中的分组顺序。比如,统计某销 售公司某年各个月份各种产品、不同花色在各个地区的销售情况,可以用月份和 地区作为列,用产品名称和花色作为行。在Columns列表框中按Mon th、Region 的顺序加入字段,没有Mon th可以使用表
9、达式Mon th(sales_da te)来获取销售时 的月份。Rows列表框中的字段对应数据窗口中左侧的表头,Columns列表框中的 字段对应数据窗口中上面 表头,Values是出现在数据窗口表格单元中的统计值; Source Data列表框中是可以使用的字段,使用鼠标选中并拖动到相应的列表框 即可。在Rows、Columns、Values三个列表框中都可以用鼠标双击已有字段,可 以在接下来的对话框中输入组合表达式。比如,使用year作为Columns是可以 的,也可以双击然后在上面的窗口中输入下面的表达式:year+年Graph:Graph显示样式的数据窗口可以以多种图形样式将数据显示出
10、来,例如饼图、柱 状图、折线图等。Graph显示样式的数据窗口给用户的感觉是使用方便、表达直 观。从开发者的角度来讲,创建Graph显示样式的数据窗口也是很简单的事情, 所以在开发应用程序时不要忘记这费力不多却很受用户欢迎的显示样式。创建Graph显示样式的数据窗口时,最重要的参数是Category、Values及Series。 在创建向导中可以指定这几个参数。指明这三个参数的操作很简单,在下拉列表 框中选择合适的字段即可。Category可以理解成显示在横向坐标铀上的字段, Values可以理解成显示在纵向坐标轴上的字段,而Series是横向坐标轴上同组 比较时的分组标准。Composite
11、: 这种显示样式的数据窗口可以将多种类型的、多个逻辑上毫不相关的数据窗口放 置到一起,是一种灵活的数据表现形式。因为Composite显示样式的数据窗口不 允许修改其中的数据,所以不能用于数据录入和数据修改,只能在报表时使用这 种显示祥式的数据窗口。使用这种显示样式的数据窗口创建报表,经常将对同一 问题不同表现形式的数据窗口或者是关系紧密的数据放到一起。例如,将几个关 键数据的统计结果以Graph显示样式显示在最上面,用CrossTab类型的数据窗 口将比较详细的数据统计结果显示在中间,然后是Grid类型的详细数据,这样 的报表数据表现能力要比任何单一的一种数据窗口要强得多。RichText:
12、RichText 祥式的数据窗口使数据库中的数据和文字可以在一起排版,可以方便 地特数据库中的数据和文字内容一起形成文档、报告等;提供了很强的文字编辑 处理能力,可以很方便地处理文字的多种格式:可以开发更有表现力的应用系统, 自动生成报告、文档资料,省去了使用 PowerBuilder 的应用程序却需要切换到 其他文字处理软件中的麻烦。OLE 2.0:OLE是Object Link and Embedding的字头缩写,表示对象链接和嵌入。使用这 种技术,可以将其他软件的功能引入到PowerBuilder开发的应用程序中。 PowerBuilder中不仅提供了 OLE 2.0显示样式的数据窗口
13、,而且在窗口中提供 了 OLE 2.0控件。例如,在数据库中保存的图像在OLE 2.0显示样式的数据窗口 中,可以借助一些专门的图像处理软件来处理,并可以把处理结果返回保存到数 据库中。只有当数据库的表中包含blob类型的字段时,才有必要使用OLE 2.0显示样式 的数据窗口。将blob类型的字段作为OLE 2.0列,在处理其中的数据时,可以 直接触发调用相关的软件进行处理,并能够将处理结果返回保存到数据库中。例 如,某字段中保存的是Excel文档,可以创建OLE 2.0显示样式的数据窗口,当 双击该字段时可以调用Excel,然后在Excel中编辑处理数据,保存编辑结果返 回到数据窗口时,可以
14、将结果反映到数据窗口中。创建OLE 2.0显示样式的数据窗口,需要指定三类参数。Source Data框中显示 的是所有可用字段,可以使用鼠标选中并拖动到其他两个列表框中;Group by 列表框中显示的是用来分组的字段,由于OLE 2.0数据窗口的特殊性,它的分组 不在设计时创建,只能在向导中创建;Target Data框中显示的是在数据窗口中 要显示的字段,使用了分组,则对该框中的字段做统计(字符串型的列将统计记 录数,数值型的列将统计累加和),没有使用分组,则直接显示它们的值。接下 来要设置的是和OLE对象关系紧密的内容/数据窗口对象的画板、band和层次 数据窗口画板整个数据窗口画板由
15、 6 个视窗构成,分别是:Design:设计数据窗口对象视窗,可以使用菜单Design-Options来改变Design 窗口的外观Preview :预览数据窗口的外观,显示相应表中的对应的数据,及对数据的各种 操作Con trol Lis t:数据窗口中所有的部件构成的一个列表Data:显示此数据窗口对象所对应的表中的各个字段的值Proper ties: 属性Column Specification:该视窗是个比较重要的视窗,可以增加、删除、修改列 的初始值、检验表达式或者校验信息 数据窗口对象的 band数据窗口用带-band将其分隔成四部分:Header :出现在每页的顶端,用于显示标题和列的题头Detail:包含了数据窗口对象的主体,显示了各行的数据和相关的标签。在DataWindow 对象高度的范围内,细节条能够按照需要自动扩大任意倍Foo ter:出现在每页的底端,用来显示文本和页号Summary:出现在DataWindow对象的最后一页,用来为整个数据窗口对象显示总 计和总和 数据窗口对象的层次数据窗口分为三个层次,即背景层(background)、带层(band)和前景层 (foreground) o在数据窗口上放置的