一、数据窗口
比如鼠标选择了第一列到第三列的4,5行的数据。可以在pbm_dwnmousemove的事件中根据鼠标左键的按下和放开取相应的行列数。再动态设置每列的背景色。
如上设置第一列的背景色(4,5行灰色,其余白色):dw_1.object.列名.background.color = "16777215~tif( getrow() >= 4 and getrow() <= 5, rgb(111,111,111), rgb(255,255,255))"
background中(所有字段):
if (getrow() = currentrow() ,rgb(255,0,0),rgb(0,0,255))
//选中为红,不选为蓝,其他颜色自己加
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.
注意: 连在一起的汉字(中间没有标点或空格分隔), 系统将认为是一个单词, 不 会自动进行折行
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.
注意
:
连在一起的汉字
(
中间没有标点或空格分隔
),
系统将认为是一个单词
,
不
会自动进行折行