给singing2003 () ,关于如何动态创建图形数据窗口(graph型)

纳米茶 2003-08-27 06:43:57
一个数据窗口的语法我把他分为7个部分:
1、开发的语言版本号
2、数据窗口基本属性
3、数据窗口显示分区
4、数据来源
5、表达式
6、详细控件属性
7、htmldatawindow属性。
指定一个数据窗口属于那个类型,是在第二部分,参数是processing。0 — Form, group, query, or tabular;1 — Grid;2 — Label;3 — Graph;4 — Crosstab;
5 — Composite;7 — RichText。
graph类型的数据窗口和其他类型的如grid、freeform、tabular等等不相同的地方只在详细控件属性部分。在grid、freeform等类型的窗口中这个部分描述的是text控件、column控件、groupbox、line等控件的属性,但是在graph类型的数据窗口中间,他描述的就是一个graph窗口的系列、种类和值的属性。详细的各个属性值我就不多说了。
至于怎么生成一个graph数据窗口,你可以在第六部分分别设置你的横轴、纵轴以及表达式等等的属性。然后把这七个部分组合起来ls_syntax。然后再用
datawindow.create(ls_syntax)创建出来你的数据窗口。很抱歉我现在还不能给你源代码,因为我正在做,呵呵。
...全文
177 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
singing2003 2003-08-27
  • 打赏
  • 举报
回复
呵呵,真辛苦你了,我在期待你的graph :)
我也去努力一下研究一下现成的graph型数据窗,应该会有启发:)
祝顺
纳米茶 2003-08-27
  • 打赏
  • 举报
回复
sorry,源代码是不能给的,因为现在是属于公司的了,不再属于我。但是思路我可以说一下。说明:我用的是oracle的数据库。
第一步:取出所有的用户定义的表,可以多选的表,但是一旦多选是必须设置关联条件的。从dba_tab_comments。
第二步:根据选择的表,列出所有的非blob字段。从user_col_comments和DBA_tab_columns。
第三步:设置关联条件和参数。a.column_a = b.column_b或者是a.columna=:as_no、或者是一个常量a.column like 'aa%'。
以上部分仅仅只是合成了一个数据窗口的第四和第五部分。
第四步:设置数据窗口类型。根据选择的不同,设置不同的分区属性。header/detail/summary/footer的高度、背景色、自动高等。如果选择的是graph就不存在header区域。这个部分现在我正在做。
这里合成的是第二部分的部分内容和第三部分。第二部分还有一个打印属性的设置,我做了一个打印的基类,通过它设置。
第五步:设置字段和文本的基本属性,包括对齐方式、字体等等。
第六步:设置高级的字段属性。dddw/ddlb/checkbox/editmask等。
第七步:合成syntax。进入微调窗口。
singing2003 2003-08-27
  • 打赏
  • 举报
回复
说声谢谢,一会仔细研究一下:)
let5flying 2003-08-27
  • 打赏
  • 举报
回复
有没有具体的例子,谢谢~~
Sir 2003-08-27
  • 打赏
  • 举报
回复
好贴,建议入精华。
我们是在是需要多一些这样的语法分析与总结。
这些资料比较难找到。
纳米茶 2003-08-27
  • 打赏
  • 举报
回复
上面是我做的一个简单的数据窗口内容说明,希望对你有用,也对看这个帖子的人有点用处。^_^
纳米茶 2003-08-27
  • 打赏
  • 举报
回复
6、详细控件属性
TEXT控件
基本属性
Band
指明该控件所属区域,detail, footer, header, header.#,summary,trailer.#, foreground, background
alignment
控件的对齐方式。0 — (Default) Left,1 — Right,2 — Center,3 — Justified。
Text
文本控件上显示的文字。
Border
控件的边框和显示风格。
0 — None
1 — Shadow
2 — Rectangle
3 — Resize
4 — Line
5 — 3D Lowered
6 — 3D Raised
Color
显示的文本字体的颜色。
name
文本控件名称。
Visible
是否可见
坐标位置属性
X
X坐标值。
Y
Y坐标值。
Height
控件高度。
Height.AutoSize
自动根据显示的文字的长度更改行高。
Width
控件宽度。
字体属性
font.face
指定字体库
font.height
字体大小
font.weight
400 normal
700 bold
font.family
字体族
0 — AnyFont
1 — Roman
2 — Swiss
3 — Modern
4 — Script
5 — Decorative
font.pitch

font.charset
0 — ANSI
1 — The default character set for the specified font
2 — Symbol
128 — Shift JIS
134 — Arial
255 — OEM
背景属性
background.mode
背景透明不透明
0为不透明
1为透明
background.color
控件背景颜色。

COLUMN控件
基本属性
Band
指明该控件所属区域,detail, footer, header, header.#,summary,trailer.#, foreground, background
alignment
控件的对齐方式。
0 — (Default) Left
1 — Right
2 — Center
3 — Justified。
Text
文本控件上显示的文字。
Border
控件的边框和显示风格。
0 — None
1 — Shadow
2 — Rectangle
3 — Resize
4 — Line
5 — 3D Lowered
6 — 3D Raised
Color
显示的文本字体的颜色。
name
文本控件名称。
Visible
是否可见
id

tabsequence
跳转属性。
format
显示格式。
tag
标签
坐标位置属性
X
X坐标值。
Y
Y坐标值。
Height
控件高度。
Height.AutoSize
自动根据显示的文字的长度更改行高。
Width
控件宽度。
字体属性
font.face
指定字体库
font.height
字体大小
font.weight
400 normal
700 bold
font.family
字体族
0 — AnyFont
1 — Roman
2 — Swiss
3 — Modern
4 — Script
5 — Decorative
font.pitch
倾斜程度。
0 — The default pitch for your system
1 — Fixed
2 — Variable
font.charset
0 — ANSI
1 — The default character set for the specified font
2 — Symbol
128 — Shift JIS
134 — Arial
255 — OEM
背景属性
background.mode
背景透明不透明
0为不透明
1为透明
background.color
控件背景颜色。
可选框属性
同样需要在列的数据来源后面写值的说明。
values="第一个值的显示文字 第一个值的真实值/第二个值的显示文字 第二个值的真实值"
checkbox.text
显示的文本。
checkbox.on
选择时的值
checkbox.off
没有选择时的值
checkbox.scale
二维的情况下才用的,将框加粗。
checkbox.threed或者checkbox.3d
是否是三维的立体可选框
下拉数据窗口属性
dddw.name
下拉的数据源数据窗口
d_dd_empname
dddw.displaycolumn
显示列heiname
dddw.datacolumn
值列heiid
dddw.percentwidth
下拉的宽度和原来的列的宽度的比较值。百分比。
dddw.lines
在下拉窗口中显示的列数
dddw.limit
字段值的宽度。
dddw.allowedit
是否可以编辑。
Yes — Typing is allowed
No — (Default) Typing is not allowed
dddw.useasborder
是否显示下拉箭头。
Yes — Display the arrow
No — Do not display the arrow
dddw.case
大小写的规则
Any — Character of any case allowed
Upper — Characters converted to uppercase
Lower — Characters converted to lowercase
dddw.imemode
????不知道什么属性。
dddw.Hscrollbar
是否有水平滚动条
Yes — (Default) Scroll horizontally automatically
No — Do not scroll automatically
dddw.vscrollbar
是否有垂直滚动条
Yes — Display a vertical scrollbar
No — Do not display a vertical scrollbar
下拉列表框属性
需要在列的数据来源后面写值的说明。
格式为:values="第一个值的显示文字 第一个值的真实值/第二个值的显示文字 第二个值的真实值"
ddlb.limit=0
限制输入的值
ddlb.sorted
是否排序
ddlb.allowedit
是否可编辑
ddlb.case
大小写的规则
Any — Character of any case allowed
Upper — Characters converted to uppercase
Lower — Characters converted to lowercase
ddlb.required
是否是必填项
ddlb.nilisnull
是否空值设为Null。
Yes — Make the empty string NULL
No — Do not make the empty string NULL
ddlb.autohscroll=yes
自动滚动条
ddlb.vscrollbar=yes
垂直滚动条
ddlb.showlist=yes
总是显示列表
ddlb.useasborder=yes
是否显示下拉箭头
ddlb.imemode=0
??不知道
单选按钮属性
需要在列的数据来源后面写值的说明。
格式为:values="第一个值的显示文字 第一个值的真实值/第二个值的显示文字 第二个值的真实值/类推"
radiobuttons.columns
可供单选的项目数
radiobuttons.scale
二维的情况下才用的,将框加粗。
radiobuttons.threed或者checkbox.3d
是否是三维的立体可选框
编辑属性
编辑格式
GROUPBOX控件
基本属性
Band
指明该控件所属区域,detail, footer, header, header.#,summary,trailer.#, foreground, background
Text
分组框上显示的文字。
Border
控件的边框和显示风格。
0 — None
1 — Shadow
2 — Rectangle
3 — Resize
4 — Line
5 — 3D Lowered
6 — 3D Raised

Color
显示的文本字体的颜色。
name
分组框控件名称。
Visible
是否可见
坐标位置属性
X
X坐标值。
Y
Y坐标值。
Height
控件高度。
Width
控件宽度。
字体属性
font.face
指定字体库
font.height
字体大小
font.weight
400 normal
700 bold
font.family
字体族
0 — AnyFont
1 — Roman
2 — Swiss
3 — Modern
4 — Script
5 — Decorative
font.pitch
倾斜程度。
0 — The default pitch for your system
1 — Fixed
2 — Variable
font.charset
0 — ANSI
1 — The default character set for the specified font
2 — Symbol
128 — Shift JIS
134 — Arial
255 — OEM
背景属性
background.mode
背景透明不透明
0为不透明
1为透明
background.color
控件背景颜色。
7、HTML属性
基本上可以不考虑。在动态报表中不用。
htmltable
border="1"
htmlgen
clientevents="1"
clientvalidation="1"
clientcomputedfields="1"
clientformatting="0"
clientscriptable="0"
generatejavascript="1"
netscapelayers="0"
纳米茶 2003-08-27
  • 打赏
  • 举报
回复
数据窗口语法分析
1、开发语言版本号
release 8;
2、数据窗口基本属性
基本属性
units=0
该属性指定该数据窗口的单位标准。
0-PowerBuilder中的单位
1-显示器象素
2-千分之一英尺标准单位
3-千分之一厘米标准单位
timer_interval=0
默认数据窗口time事件触发周期,默认为60000毫秒[一分钟]
color=1073741824
这个属性指示传送给打印输出的是彩色(如果你有一台彩色打印机)还是单色。
processing=1
数据窗口的类型、格式。
0 — (Default) Form, group, query, or tabular
1 — Grid
2 — Label
3 — Graph
4 — Crosstab
5 — Composite
7 — RichText
HTMLDW=no
属性指定该数据窗口是否是HTML格式数据窗口。
打印属性
documentname
这个属性仅当把DataWindow输出为一个文件时才有用。这个属性包含的字符串是将在磁盘中存储的文件的名字。
orientation
Orientation=0(打印机的缺省设置)或2(横向打印)或3(纵向打印)这个属性用来指示打印定向。你可以使用打印机缺省设置,或者设置成Landscape或Portrait模式,覆盖缺省的打印设置。
margin.left
用DataWindow指定的单位指示页面左侧空白宽度。
margin.right
用DataWindow指定的单位指示页面右侧空白宽度。
margin.top
用DataWindow指定的单位指示页面顶端空白的宽度
margin.bottom
用DataWindow指定的单位指示页面左侧空白宽度。
paper.source
这一属性是一个整型值,指明纸的来源。可接受的值如下:
0-Default
1-Upper
2-Lower
3-Middle
4-Manual
5-Envelope
6-Envelope manual
7-Auto
8-Tractor
9-Smallfmt
10-Largefmt
11-Large capacity
14-Cassette
paper.size
这一属性用来指示打印纸的尺寸。
0-缺省
1-Letter 8 1/2 x 11 in
2-LetterSmall 8 1/2 x 11 in
3-Tabloid 17 x 11 inches
4-Ledger 17 x 11 in
5-Legal 8 1/2 x 14 in
6-Statement 5 1/2 x 8 1/2 in
7-Executive 7 1/4 x 10 1/2 in
8-A3 297 x 420 mm
9-A4 210 x 297 mm
10-A4 Small 210 x 297 mm
11-A5 148 x 210 mm
12-B4 250 x 354
13-B5 182 x 257 mm
14-Folio 8 1/2 x 13 in
15-Quarto 215 x 275 mm
16-10 x 14 in
17-11 x 17 in
18-Note 8 1/2 x 11 in
19-Envelope #9 3 7/8 x 8 7/8
20-Envelope #10 4 1/8 x 9 1/2
21-Envelope #11 4 1/2 x 10 3/8
22-Envelope #12 4 x 11 1/276
23-Envelope #14 5 x 11 1/2
24-C size sheet
25-D size sheet
26-E size sheet
27-Envelope DL 110 x 220 mm
28-Envelope C5 162 x 229 mm
29-Envelope C3 324 x 458 mm
30-Envelope C4 229 x 324 mm
31-Envelope C6 114 x 162 mm
32-Envelope C65 114 x 229 mm
33-Envelope B4 250 x 353 mm
34-Envelope B5 176 x 250 mm
35-Envelope B6 176 x 125 mm
36-Envelope 110 x 230 mm
37-Envelope Monarch 3.875 x 7.5 in
38-6 3/4 Envelope 3 5/8 x 6 1/2 in
39-US Std Fanfold 14 7/8 x 11 in
40-German Std Fanfold 8 1/2 x 12 in
41-German Legal Fanfold 8 1/2 x 13 in
prompt=no
Prompt=Yes(缺省-显示提示)或No(无提示) 。这个属性可以控制PowerBuilder显示一个允许用户在作业打印前取消打印作业的提示。
buttons=no
是否输出按钮,如果数据窗口中有按钮。
preview.buttons=no
在预览窗口中是否显示按钮。
grid.lines=0
指定网格线是否显示出来而且打印出来。可以接受的值为:
0-即显示又打印
1-不显示但打印
2-显示但不打印
3-不显示不打印
3、数据窗口显示分区
页表头区
header (height=72 color="536870912")
统计区
summary(height=0 color="536870912")
页表尾区
freeform格式的没有该属性。
footer (height=0 color="536870912")
明细区
detail (height=84 color="536870912")
4、数据来源
数据来源属性:
type
指定字段的数据类型。
char
number
decimal
date
datetime
long
ulong
real
update
指定该列是否可以被更新
updatewhereclause
一般默认为YES,该属性有与没有均可。
key
指定改列是否为关键字。一个DataWindow中只能有一个。
name
字段名称。
dbname
字段的数据来源,表达式为表名加字段名。如果是外部数据源的则没有表名。
需要加引号。
5、表达式
如果是外部数据源格式的数据窗口就没有表达式,有三个部分组成:
SQL语法:
标准SQL语法部分,可以带参数。格式为:Retrieve = “select from where”

更新部分:
自定义报表部分不能更新
Update:
Updatewhere:
Updatekeyinplace
参数部分:
说明SQL语法部分的参数类型和名称。格式为:
Arguments = ((参数1,参数1类型),(参数2,参数2类型)……)

611

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder DataWindow
社区管理员
  • DataWindow社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧