Powerbuilder中Crosstab风格数据窗口控件的使用
powerbuilder使用简介

一 专业的客户/服务器开发工具
客户/服务器是一种将任务进行分解、然后 协同解决的计算模式。客户端的应用程序负责 提出任务需求,服务器端的应用程序则为客户 提供服务。用PowerBuilder 开发出的应用程 序能够与数据库服务器完美地协同工作,构成 客户/服务器计算模式。
二 强大的Web开发功能
练习一:学会MDI框架的创建
1、 在D盘创建一个目录; 2、 在该目录上创建一个PB应用,名称为”x座位号_01” 3、 为应用创建MDI窗口 4、 为MDI窗口配置菜单,菜单项如下: 病人信息维护(含数据录入、数据查询、数据修改三个子菜单) 系统设置(含修改密码、重新登录两个子菜单) 5、 为菜单设置工具栏图标 6、 分别为各子菜单添加相应的窗口,设置title. 7、 为菜单添加microhelp、添加函数
应用对象详细介绍
观察APPLICTION对话框不难发现其中一半的标签是 用来设置字体的: TEXT FONT用来设置静态文本的字 体。COLUMN FONT用来设置数据窗口中从数据库中 取回的数据的字体,LABEL FONT标签是用来设置字 段的扩展属性LABEL的字体,HEADER FONT则是指 定字段的扩展属性HEADER的字体。而对于每一个字 体又包含字体,字的风格,字的大小,字的颜色,字 的背景颜色等选项,要指出的是这里设置的字体都是 面向整个应用程序的。
1、通用的Web目标 2、4GL Web页面 3、Web DataWindow容器组件
三 面向对象的程序设计
对象包括三方面的特征:属性、函数和事件。 属性:属性规定了对象的特征,比如标题是什么, 以何种颜色显示等 函数:函数封装了对象的功能,也是应用程序与对 象交换信息的主要手段,在其它面向对象的编程语 言中,也常把函数称做“方法”; 事件:事件说明对象响应什么样的操作,当我们单 击窗口时,就向窗口发出了一个单击事件。
Powerbuilder中Crosstab风格数据窗口控件的使用

Powerbuilder中Crosstab风格数据窗口控件的使用
Powerbuilder中Crosstab风格数据窗口控件的使用
Powerbuilder中Crosstab风格数据窗口控件的使用
李瑾
【期刊名称】《职业技术教育》
【年(卷),期】2006(027)026
【摘要】Powerbuilder是目前流行的数据库前端开发工具之一,它的一大优点也是关键技术就是数据窗口(Data Window)控件.PB内嵌的DW开发模板具有多种风格,其中Crosstab风格的数据窗口不但可以缩减开发的工作量、达到事半功倍的目的,还可以获得用户满意的效果.本文介绍了Crosstab风格数据窗模板的使用.【总页数】2页(P110-111) 【作者】李瑾
【作者单位】天津港信息中心,软件部,天津,300000
【正文语种】中文
【中图分类】TP3
【相关文献】
1.PowerBuilder中数据窗口的使用技巧 [J], 王丽娟;吴东明
2.PowerBuilder7.0数据窗口应用中的数据源和数据显示风格[J], 柴树慧;邹晓
3.PowerBuilder中数据窗口的控件事件 [J], 王维倩
4.PowerBuilder中数据窗口的使用技巧 [J], 郑琦; 李兰友
5.基于PowerBuilder的数据窗口控件和数据库研究 [J], 康懿
因版权原因,仅展示原文概要,查看原文内容请购买。
PowerBuilder第9讲 数据窗口应用

2、建立共享函数 格式: Integer dw_primary.ShareData(dw_secondary) 参数:①dw_primary:主数据窗口的数据窗口控件名。 ②dw_secondary:从数据窗口的数据窗口控件名。 返回值:函数执行成功时返回1,发生错误时函数返回-1。 如果任何参数的值为NULL,则ShareData()函数返回 NULL。 功能:从数据窗口共享主数据窗口中的数据。 说明:
演示一个主从关系数据窗口的实现
添加dw_1和dw_2, 分别连接d_sellerp和d_sellers; 在open事件中添加以下代码 dw_1.setTransObject(SQLCA) dw_2.setTransObject(SQLCA) dw_1.retrieve() dw_2.retrieve() dw_1.setRowFocusIndicator(hand!)
添加删除按钮,其代码如下: long rsm, row row = dw_2.GetRow() rsm = dw_2.RowCount() if row>0 and row<=rsm then dw_2.DeleteRow(row) end if
数据存储用毕之后,需要使用Destroy语 句删除该对象, 例如:DESTROY ids_stock
9.2 主从数据窗口
使用数据窗口技术操作数据库表中数据的常 用方法 回顾几种检索、修改表中数据的方法 数据库信息管理系统中一个很重要的工作就 是检索、修改数据,为了实现这些功能,我 们曾经学习过以下一些方法。
数据存储通常使用在下述四个方面:
04 PowerBuilder10.5窗口及控件

编著:刘勇
窗口的组成
• 窗口对象是组成PowerBuilder应用程序的主要成分,是应用程序的操 作界面,其他对象(菜单、数据窗口及用户对象等)只有加到窗口上, 才能显示出来。 • 用PowerBuilder建立的窗口与其它GUI环境所使用的窗口是类似的, 由以下三部分组成:
• • • •
图片( §4.4.5图片(Picture)控件 图片 )
• 图片控件是PowerBuilder中的特殊控件,它 用于显示一个位图BMP文件、RLE文件、 或者Aldus风格的WMF文件。
§4.4.6超链接控件 超链接控件
• 超链接控件主要用来链接到特定的web页, 包括:静态文本超链接控件 (StaticHyperLink)和图片超链接控件 (PictureHyperLink),下面分别介绍。 静态文本超链接控件 图片超链接控件
• • •
4.4.8数据窗口(DataWindow)控 数据窗口( 数据窗口 ) 件
• 这里的数据窗口控件只不过是窗口上的一个空白的控件,与 第七章中讲的数据窗口对象不是一回事。当这个空白的数据 窗口控件建立好后,再将它与某个数据窗口对象建立联系, 在系统运行时,用户通过窗口上的数据窗口控件来操纵数据 窗口对象,完成对数据库的操作(录入、修改、删除等)。
§4.4.11 进度条与轨迹条控件
• 进度条控件:进度条控件分为HprogressBar(水平进度 条)和VprogressBar(垂直进度条)两种,前者在窗口上水 平放置,后者在窗口上垂直放置。进度条控件是用来显 示某个过程的执行进度的。例如,一些大型软件的安装 程序一般都有进度条提示安装进度。 轨迹条控件:分为HTrackBar(水平轨迹条)和 VTrackBar(垂直轨迹条)两种,前者在窗口上水平放置, 后者在窗口上垂直放置。轨迹条控件可以控制其他控件 的变化(如缩小,放大等)。它的外观包括标尺、标尺 刻度和滑动游标。标尺说明了控制范围,刻度说明变化 的递进,滑动游标控制变化的方向。
PB数据窗口教程

PB数据窗口教程数据窗口是PowerBuilder中最常用的控件之一、它用于显示数据库查询结果,并提供了对此结果进行浏览、修改和删除等操作的功能。
本教程将为您介绍如何在PowerBuilder中使用数据窗口控件。
第一步是创建一个数据窗口。
在PowerBuilder的“对象”菜单下,选择“新建”>“数据窗口”。
在弹出的对话框中,选择所需的数据源和表格,并点击“确定”按钮。
此时,将会出现一个空白的数据窗口设计器。
接下来,将需要显示在数据窗口中的列添加到数据窗口中。
您可以通过拖拽数据库字段或手动添加列的方式进行操作。
在设计器的左侧,您将看到一个“对象树”面板,在这里选择数据窗口对象,并右键单击以添加列。
完成列的设置后,您可以在设计器的页面中放置其他控件,以增强用户界面。
一些常用的控件包括文本框、复选框、下拉列表框等。
您可以通过拖拽控件到数据窗口设计器的页面中进行操作,并根据需要设置其属性。
下一步是设置数据窗口的数据源。
在数据窗口设计器的菜单栏中,选择“数据”>“设置数据源”选项。
在弹出的对话框中,选择所需的数据源和表格,并点击“确定”按钮。
此时,数据窗口将会显示数据源中的数据。
现在,您可以运行应用程序,并查看输出窗口中的结果。
您可以通过点击数据窗口中的列标题对数据进行排序,通过点击数据行进行选择,并通过单击“查阅”按钮在查询结果中进行导航。
如果需要,您还可以在数据窗口中进行增加、修改和删除操作。
通过本教程,您应该已经了解了如何在PowerBuilder中创建和使用数据窗口控件。
数据窗口是PowerBuilder开发中非常重要的一部分,掌握了数据窗口的使用方法,可以提升开发效率,并为用户提供更好的用户界面和交互体验。
希望本教程能对您有所帮助!。
PowerBuilder60个数据窗口技巧

PowerBuilder60个数据窗口技巧60个数据窗口技巧1.如何让存储文件目录的列,显示图片? 答:选择对应的column 的display as picture属性为true2、如何复制grid类型的所选择的行的数据到系统剪切板?答:string ls_selectedls_selected=dw_1.Object.DataWindow.Selected.Dataclipboard(ls_selected)3、如何复制graph风格的datawindow中的图形到剪切板?答:dw_1.clipbord("gr_1")4、如何设置的DW底色?在DW的editsource中改变color的值5、如何将Grid风格改成自由格式?在DW的editsource中将processing=1的1改为06、要新建一个表A但风格和现有表格B风格一样,怎么将A表快速设置成表B风格?复制B表C,在C表的DW中的editsource中将表名和字段名改成A表的,即可7、如何实现gird风格的datawindow的多栏表头?答:添加 text到header带区,并设置band属性为foreground 保存,edit source 修改text的x和width属性表达式如下:x="100~t integer(describe('firstcol.x')" width="100~tinteger(describe('lastcol.x')) - integer(describe('firstcol.x')) +integer(describe('lastcol.width'))8、如何过滤dddw编辑风格的显示值为指定值的记录?答:dw_1.setfilter("lookupdisplay('column_name')='"+ls_display_value_your+"'")dw_1.filter()9、如何设置datawindow的某一列为空?答:string ls_temp[]setnull(ls_temp)dw_1. O B J E C T.columnname.primary.current=ls_temp10、如何设置datawindow的单双行不同颜色间隔?答:在detail带区的color属性表达式中写上if(mod(getrow(),2)=1 ,rgb(255,0,0),rgb(0,255,0)),如果是当前行以第三种颜色表示,表达式如下:if(getrow()=current(),rgb(255,0,0),if(mod(getrow(),2)=1 ,rgb(0,0, 255),rgb(0,255,0)))11、如何获取指定名称的datawindow O B J E C T?答:DWObject ldwo_use,ldwo_abcldwo_use = dw_1.Objectldwo_abc = ldwo_use.__get_attribute("t_1",FALSE)//t_1为datawindow中text对象的名称12、如何使用datawindow的查询模式?答:dw_1.Object.DataWindow.QueryMode='yes'将datawindow改变为查询模式后,接收用户的输入,再使用一下代码获取结果:dw_1.accepttext()dw_1.retrieve()13、如何缩放datawindow的打印大小?答:dw_1. O B J E C T.datawindow.zoom=150 or dw_1. O B JE C T.datawindow.zoom=7514、如何在已过滤后的数据基础上对datawindow进行过滤?答:dw_1.setfilter(dw_1.describe("datawindow.table.filter")+your_joi n+your_new_filter)dw_1.filter()15、如何在datawindow中显示动态时间?答:建立一个计算域,表达式为string(datetime(today(),now()),'yyyy年mm月dd日hh点mm分ss秒'),同时设置datawindow的属性dw_1.Object.DataWindow.Timer_Interval=50016、如何让带用title bar的datawindow控件的标题栏诚活动窗口的颜色?答:外部函数定义:funcation logn SetActiveWindow(long hwnd ) Library "user32.dll"datawindow控件的clicked事件代码:setactivewindow(handle(this))17、如何设置datawindow的当前行指示图标?答:在datawindow中建立一个计算列,expression为'',并将该计算列移动为datawindow的第一个列,在datawindow控件的rowfocuschanged事件中写入代码:SetRowFocusIndicator(hand!)或setrowfucsindicator(p_1)//p_1为窗口上的picture控件名18、如何通过代码打开dddw?答:定义外部函数引用声明SUBROUTINE keybd_event( int bVk, int bScan, int dwFlags, int dwExtraInfo) LIBRARY "user32.dll"代码如下:[constant integer VK_F4 = 115dw_1.SetFocus()dw_1.SetColumn( "dept_head_id" ) //设置当前dddwkeybd_event( VK_F4,0,0,0 ) // 按下F4键keybd_event( VK_F4,0,2,0 ) // 释放F4键19、如何打印datawindow的内容到文件中?答:dw_1. O B J E C T.datawindow.print.fileName ="c:\temp.prn"dw_1.print()20、如何设置dddw的初始值?答:dw_1. O B J E C T.columnname.Initial="your_initial_value"21、如何只显示不同的数据?答:dw_1.filter("isnull(columnname[-1]) and columnname<>columnname[-1]")dw_1.filter()22、如何让带有title bar的datawindow不可以移动?答:在datawindow的自定义事件ue_nchittest(pbm_nchittest)中写入如下代码:return 123、如何在N-UP显示风格中建立基于第N栏中的列的计算列?答:如column有两列,number和price ,并显示为两栏,则第一栏的cost计算列的expression为number*price,第二栏的cost_1计算列的expression为number[1]*price[1]24、如何清空ddlb或edit.codetable中项目?答:dw_1.Object.columnname.Values=""25、如何实现指定的column的字体旋转90度?答:dw_1. O B J E C T.columnname.font.Escapement ="900"26、如何获取datawindow的sql代码?答:可以通过以下四种方法获取sql代码:string szselectszselect=dw_1.describe("datawindow.table.select")szselect=dw_1.describe("datawindow.table.sqlselect")szselect=dw_1.describe("datawindow.table.select.attribute") szselect=dw_1.getsqlselect()27、如何获取datawindow对象占有的虚拟存储的容量?答:使用datawindow.storage属性举例:在datawindow控件的retrieverow事件中,写如如下代码:long lstoragelstorage=long(dw_1. O B J E C T.datawindow.storage)if lstorage>50000 then dbcancel()28、如何控制打印横向:dw_control. O B J E C T.datawindow.print.orientation= 129、如何进行预览:dw_control. O B J E C T.datawindow.print.preview = "yes"30、如何连续在同一张纸打印两个数据窗口?答:dw_1. O B J E C T.datawindow.print.filename="temp.prn"dw_2. O B J E C T.datawindow.print.filename="temp.prn"dw_1.print()dw_2.print()31、如何将pb9.0 的datawindow转化为pb 8.0版本的datawindow?答:edit source 将release 9;改为release 8;并删除以下内容:print.printername=""print.canusedefaultprinter=yesprint.cliptext=no print.overrideprintjob=nohidegrayline=noencodeselflinkargs="1"export.xml(headgroups="1" includewhitespace="0" metadatatype=0 savemetadata=0 )import.xml()export.pdf(method=0 distill.custompostscript="0" xslfop.print="0" )32、如何设置datawindow分组后每个分组中的记录号?答:建立一个计算列,expression为getrow() - first(getrow() for group 1)+133、如何实现在datawindow中只有新增的行,才可以编辑?答:在所有的column的protect属性表达式中写入以下表达式:if(isrownew(),'0','1')34、保存datawindow数据到excel中// ... Init docname// ... GetFileOpenName or any other methodif dw_1.SaveAs(docname, HTMLTable!, True) = -1 thenMessageBox("Warning", "Unable to export data. Error writing to file!", Exclamation!)returnend if// Convert HTML file to Excel native formatOLEObject excelexcel = CREATE OLEObjectif excel.ConnectToObject(docname) = 0 thenexcel.application.DisplayAlerts = FALSEexcel.application.workbooks(1).Parent.Windows(excel.applic ation.workbooks(1).Name).Visible = Trueexcel.application.workbooks(1).saveas(docname, 39)excel.application.workbooks(1).close()end ifDESTROY excel// done35、除了循环以外,有没有更好的方法统计数据窗口中处于选中状态的行数?一般习惯于使用循环来统计数据窗口中处于选中状态的行数,有没有更好的方法?其实此问题在应用上用处不大,讨论一下,活跃一下思维还是有好处的。
PowerBuilder数据窗口技巧
PB数据窗口技巧1 使DataWindow列只能追加不能修改如何使DataWindow中的数据只能追加新记录而不能修改,利用Column 的Protect 属性可以很方便的做到这一点,方法如下:将每一列的Protect 属性设置为:If( IsRowNew(), 0, 1) )在PowerScript 中可以动态修改Protect 属性:dw_1.Modify("column_name_here.Protect='1~tIf(IsRowNew(),0,1)'")这样,DataWindow 中只有新追加的记录可修改,而其他记录是只读的。
2 如何在DataWindow中实现列的自动折行我们在PowerBuilder应用程序的开发过程中, 使用DataWindow时, 经常会遇到某列的数据太长, 不能同时全部显示的情况. 若采用自动水平滚动, 操作起来又不够简便. 下面介绍一种方法, 实现列数据多行显示, 即实现列数据的自动折行.具体步骤如下:1) 在DataWindow Painter中打开此DataWindow.2) 在需设定自动折行的列上双击鼠标, 弹开此列的属性窗口.3) 选择Position标签, 选中Autosize Height 多选框.4) 选择Edit标签, 不选中Auto Horz Scroll多选框.5) 单击OK按钮, 保存所做的修改.6) 点中Detail Band (即写有Detail的灰色长带), 单击鼠标右键, 选择Properties... 菜单项.7) 选中Autosize Height多选框.8) 单击OK按钮, 保存所做的修改.9) 保存此DataWindow.注意:连在一起的汉字(中间没有标点或空格分隔), 系统将认为是一个单词, 不会自动进行折行.3 在数据窗口中实现动画要实现动画,必须要有定时器,在数据窗口中已经有了一个定时器,双击数据窗口将弹出的对话框,在Timer Interval中定义大于零的值就有定时器(可以精确到毫秒),有了这个定时器就可以实现动画了。
《powerbuilder程序设计基础》第六章__数据窗口对
图 6-8 定义检索参数对话框
上一页 下一页
在 Name 中输入检索参数名,与图 6-7 中 Value 列中定义的检索参数变量名一致,如 num。在 type 下拉列表中选择参数类型,与图 6-7 中 Column 列中选择的列类型一致。单 击 Add、Insert、Delete 按钮可分别添加、插入和删除检索参数。设置完成后单击 OK 按 钮,返回 SQL Select 画板。
击 Finish 按钮,开始创建数据窗口对象。
上一页 下一页
图 6-14 准备创建数据窗口对话框
上一页 下一页
由于在前面步骤中设置了检索参数变量 num,因此在显示数据窗口对象前会出现指定 检索参数值对话框,如图 6-15 所示。例如在其中输入 1000,然后单击 OK 按钮。
图 6-15 指定检索参数值对话框
上一页 下一页
选中“SQL Select”数据源,单击“Next”按钮,出现 Select Tables (选择表)对话框, 如图 6-3 所示。在其中列出已连接数据库中所有可用表,如果选中“Show system tables” 复选框,则将系统表显示出来。
图 6-3 选择表对话框
上一页 下一页
1. 设计(Design)窗口
用来对数据窗口对象的内容、布局以及外观界面进行设计。Design 窗口被分为几个带 区域 (简称带 ),可用鼠标上下拖动横条来调整 各个带的高度。
下面分别介绍各个带:
标题带 (He ade r)用于显示每屏或每页的 标题信息,类似于表头。不同风格的 数据窗口
显示的标题带有所不同,如 Grid、Tabular、N-Up 风格其标题带成一行显示,而 Freeform 风格中标题带为空,会在细节带中每列左侧显示该列标题。
PowerBuilder窗口及窗口上的控件
§1.3.3窗口上控件的调整
▪ 选中窗口上的控件 :选中一个控件,选中多个控件; ▪ 调整窗口上的控件 :
▪ 定义光标在控件上的跳转顺序
§1.3.4控件的编程
▪ 窗口上的每个控件都有相应的事件,用户可根据需要编写事 件处理程序。方法如下:
▪ ① 选择要编程的控件。 ▪ ② 单击鼠标右键,从弹出菜单中选择Script项,或单击图标,
▪ 为标签控件增加标签页 ▪ 修改标签控件中Tab页的属性 ▪ 修改标签控件的属性
1.4.8数据窗口(DataWindow)控件
▪ 这里的数据窗口控件只不过是窗口上的一个空白的控件,与 第七章中讲的数据窗口对象不是一回事。当这个空白的数据 窗口控件建立好后,再将它与某个数据窗口对象建立联系, 在系统运行时,用户通过窗口上的数据窗口控件来操纵数据 窗口对象,完成对数据库的操作(录入、修改、删除等)。
1.2.3在窗口上放置控件
▪ 创建新窗口时,除了要设置窗口的属性外,还要在窗口上放 置控件,只有这样窗口才能和用户进行交互,即接收用户的 输入信息,并把信息呈现给用户。把控件放置到窗口上后, 还可以定义控件的属性及对控件编程。详见§1.3。
§1.2.4窗口的保存
▪ 应随时保存正在创建或修改的窗口。保存窗口的方法如下: ▪ ① 从菜单栏中选择File—>Save,也可单击画板PainterBar工具栏上的Save图标,
▪ 静态文本(StaticText)控件 ▪ 单行编辑器(SingleLineEdit)控件 ▪ 多行编辑器(MultiLineEdit)控件 ▪ 编辑掩码 (EditMask)控件 ▪ 超文本编辑(RichTextEdit)控件
§1.4.4列表选择
▪ 当应用程序只用到少数几个选项时,使用单选钮和复选框既简单又方便。但是 当选项较多且运行时可能变化,单选钮和复选框就显得力不从心了。此时,我 们可以利用列表方式为用户提供多重选择。PowerBuilder提供了以下四个控件 完成列表选择:列表框、图片列表框、下拉列表框和下拉图片列表框。下面分 别进行介绍。
PowerBuilder第8讲 数据窗口控件解读
第一页
上一页 下一页
最后 一页
结束 放映
//设置事务对象属性
// Profile stock
SQLCA.DBMS = "ODBC" SQLCA.AutoCommit = False SQLCA.DBParm = "ConnectString='DSN=stock;UID=sa;PWD='" //与数据库连接 CONNECT USING SQLCA; //检查连接是否成功
7.2 数据窗口控件与数据库
在窗口画板中,把一个数据窗口对象与一个
数据窗口控件连接后,如果预览该数据窗口, 数据窗口会显示一个没有数据的数据窗口控 件。应用程序是通过数据窗口控件与数据窗 口对象交互的,如果要想在数据窗口控件中 显示数据,必须把定义数据窗口对象的数据 源连接到数据窗口控件中,也就是说要创建 应用程序与数据库的连接。
//清除数据窗口控件dw_1数据窗口中的所有数据。 dw_1.reset( ) //将数据窗口控件dw_1关联的数据窗口对象换成名为d_graph dw_1.dataobject="d_graph" //让数据窗口控件d_graph使用系统缺省的事务对象SQLCA dw_1.settransobject(SQLCA) //让数据窗口控件d_graph从数据库中提取数据。 dw_1.retrieve( )
第一页
上一页 下一页
最后 一页
结束 放映
该函数执行成功时返回一个长整数指示显示的数 据行数(即主缓冲区中的数据行数),失败时 返回-1。如果参数中有空值(NULL),则该 函数返回空值。 例1,语句lrc=dw_1.Retrieve ( )执行无参数检 索,返回值放到long型变量lrc中。 例2,假定数据窗口控件dw_1包含的数据窗口对 象使用下述SQL SELECT语句: SELECT indate, sid, quantity,unit,cost From instock WHERE indate between :a_date1 and :a_date2 其中 :a_date1和:a_date2是数据窗口画板中定 义的参数,对应的检索语句可以为: lrc=dw_1.Retrieve (date(‘2000-01-01’, ‘2001-01效)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C os a C o s a u ain)即 横 向 制 表 这 种 rsT b( rsT b lt o 显 示 风 格 主 要 用 于 数 据 统 计 和 分 析 , 以创 建 复 可 杂 的分类 统计表 , 论 是 表 头分 类还 是 行 分类 ; 不 可 以检 索 到数 据 分类 或者 分 组 , 行 累计 求 和 或平 进 均 值等 。 很 多 时候 , 计者 需 要 获得 一 个 按行 、 序 号 设 列 来 确 定 数 据 值 ( 似 于 二 维 数 组 , 个 不 同 的 行 列 类 每 序 号 组 合 确 定 惟 一 的一 个 值 )的 交 叉 表 格 , 种 情 这
意 的 效 果 。 本 文 介 绍 了 Cos b风 格 数 据 窗模 板 的使 用 。 rst a 关 键 词 : o r ule ; t id w ; rstb P web i r DaaW n o C osa d
中 图 分 类 号 :P 9 . T 3 34
文献 标识码 : A
文 章 编 号 :0 8—3 1 2 0 2 0l 0—0 10 2 9( 0 6) 6— l 8
职业技术教育 ( 教学版)
VOC I AT ONAL AND T HNI AL E EC C DUC I N AT O
No 26, 06 . 20 Vo k27
( ecigR sac ) T ahn eerh
m2 ( l 。 I )( 2。 ) A3.l ) ( l B2 2 。 l )( Z .l ) ^ 3 B2 ^ . 2 rA. I ) A lB 2 AI m2 I B 2 A 。 l)K^ lB 2 A 2B 2 2 。 I)( 2 BI ( B 2 [ f : 砬 ( l皿 )“AI 皿) A 3 皿) fAI 。 2. I . “^ . rA t皿 )fA 2.2 ( . )r 2.2 ( 皿 ) 1 皿) ( 2 . ( 2 1 )f m3 皿 ( 1 )f A。 1 A 1 瞳1( l1 1  ̄A2。 ) I .2 ] ( 1 1 1 ^ l1 1  ̄ Z .2 ) 2 .2 】 ^ 1 1 rA. ) Al 。2 :( l 砬I IA 3 1 1 f ^ . 2 )I 2 。2 )( Z B 1 I^ 3 B 1 2.2 :( P : 1 1 1 1 A ( 1 O1 瞄 ^l .2 )( l 。 ) I 。2 ] I l )X 2 .∞)( Z 日 ^ 3 雎2 A . ’ x. ) II 2 ^ 2 砬2 IA 3 I 2 “A 。 ^ 1日 AZ .∞】 2 . 】 2 臌 i 1 1 m ( r m ( ∞ ( f^u. A 2 ∞)“A 3 B ) ^ . ) ( . B )f A 2 哪 ( 2 B ) ^ . 3 ( ∞) ∞) 1 。 l . 3 1略 f4A.3 ( 2 . ta 3.3 2 B ) A。 2 f
例 如 , 得 到 表 1 要 :
^l
^ l I ^2 l ^I 3
况 下 若 用 其 他 风 格 的 数 据 窗 口模 板 来 开 发 , 但 不 费时 费 力, 不 一 定 能 够达 到满 意 的效 果 。 还 而 Cosa rsT b风 格 的数 据 窗 口模 板 正 是 为 了 应 对 这 种 情 况 而 设 计 的 , 且 减 轻 了 系 统 开 发 员 的 大 量 工 并 作 , 省 了开 发 时 间 。 例 如 , 由数 据 库 中 的 记 录 节 要
A 2
夸计
B l 。1 ( 2B )fAl 。I ( 1 B ) I “A lB )f^1 .I ( 3 B ) f A . 1 “A 1B )fA 2b )H^ 3 m)f^ B )“^.1 2 .I ( Z 。1 2 。 ( 2.I B )
眦I I.I】 /2BI I I。 I | . i X 2.I) a 2 IJ ^ I ! "d .I) ^ 3 】 l 彤 ) ^ I ! " 2 . ! B ( 彤 王 B ( B 墙 . 】 ^ .I: X B! mI 2B I ( 。I】 f
得 到 类 似 下 面 的这 张 表 : 数据 库 表结 构示 例 : CjD( 储 列 值 ) R— D( 储 行 值 ) V— 存 存 , I 存 , N( 储 行列 交叉 处 的值 )
Al A 2 A 3 合 计
’
- -
^ 2l
^ l
^ 2
^ 麓 ^ 3 2
属 的 字 段 C I rws列 表 框 中 拖 拽 进 B值 所 属 的 — D,o 字段 R jD,au s列 表 框 中拖 拽 进 f ) 数 所 属 的 v le (函 字 段 V N, 统 即 可 自动 生 成 类 似 上 表 所 示 的 数 — 系 据 表 格 。这 只 是 在 数 据 表 结 构 最 理 想 的 情 况 下 , 生 成 最 简 单 的 Cosa rsT b风 格 数 据 窗 的情 形 。
就 是 数 据 窗 口 ( t n o 控 件 。P 内嵌 的 DW 开发 模 板 具 有 多 种 风 格 , 中 C o sa DaaWid w) B 其 rstb
风 格 的 数 据 窗 口不 但 可 以 缩 减 发 的 工 作 量 、 到 事 半 功 倍 的 目的 , 可 以 获 得 用 户 满 达 还
有些 时候 行 值 或 列 值 中不 单 纯 是 一 层 数 据 , 这 时 候 需 要 在 行 值 或 列 值 中 进 行 分 组 , 果 使 用 如
其 他风 格 的数 据 窗 口来达 到 这 种 效 果 , 开 发 起 则 来 会 相 当 复 杂 , 是 Cosa 但 rsT b风 格 的 数 据 窗 口最 擅 长 的就 是 这 种 情 形 。
Ge e a . 8 n rlNo 4 0
Pw rule Cos b风格 o eb i r d 中 rs a t 数 据窗 口控 件的使 用
李 瑾
( 天津 港信息 中心 软件 部 , 津 300 ) 天 000
摘 要 : o r ule P web i r是 目前 流行 的 数 据 库 前 端 开 发 工 具 之 一 , 的 一 大 优 点 也 是 关 键 技 术 d 它