PowerBuilder操作技巧:DataWindow只追加、列自动折行与动画实现
版权申诉
65 浏览量
更新于2024-08-08
收藏 53KB DOC 举报
"38个PowerBuilder操作技巧文档包含了如何限制DataWindow列的编辑权限、实现列的自动折行以及创建动画效果等实用技巧。"
在PowerBuilder开发中,掌握一些高级的操作技巧能够显著提高开发效率和应用用户体验。以下是根据提供的文件内容详细解释的三个关键知识点:
1. **使DataWindow列只能追加不能修改**
在PowerBuilder中,DataWindow是用于展示和操作数据库数据的重要组件。如果希望用户只能在DataWindow中追加新记录而不能修改已有记录,可以通过设置Column的Protect属性来实现。保护属性(Protect)控制用户对列的编辑权限。设置表达式`If(IsRowNew(),0,1)`意味着当插入新行(IsRowNew()返回true)时允许编辑(设置为0),而在其他情况下禁止编辑(设置为1)。在PowerScript中,可以通过`dw_1.Modify`函数动态修改这一属性,例如:`dw_1.Modify("column_name_here.Protect='1~tIf(IsRowNew(),0,1)'")`。
2. **在DataWindow中实现列的自动折行**
当DataWindow中的某一列数据过长,无法完全显示时,可以设置列的自动折行功能。首先,在DataWindow Painter中打开需要修改的DataWindow,然后双击目标列以打开其属性窗口。在“Position”标签下,勾选“AutosizeHeight”选项,这将使得列的高度根据内容自动调整。接着,在“Edit”标签中取消选中“AutoHorzScroll”,防止水平滚动条的出现。保存修改后,还需要对Detail Band(细节带)进行同样的设置,使其允许自动调整高度。完成这些步骤后保存DataWindow,即可实现列数据的自动折行,除非连续的汉字(没有标点或空格分隔),否则系统会自动进行折行处理。
3. **在数据窗口中实现动画效果**
PowerBuilder的DataWindow组件内嵌有定时器功能,可以用于创建各种动态效果,如动画。要启用定时器,只需在DataWindow的属性对话框中,为“Timer Interval”设置一个大于零的值(单位为毫秒)。例如,为了实现字段背景颜色随时间变化的动画,可以设置字段的背景颜色为当前时间的小时部分的RGB值,代码如下:
```
background.color = RGB(Integer(Right(string(now(),'hhmmssf'),1))*256/10, Integer(Right(string(now(),'hhmmssf'),1))*256/10, 0)
```
这段代码将背景颜色设置为随着时间推移而不断变化的绿色。当然,你可以根据需要修改这个示例,改变其他属性,如字体颜色、大小等,以创建各种不同的动画效果。
以上就是从给定文件中提取的三个PowerBuilder操作技巧,它们对于提升PowerBuilder应用的功能性和用户体验非常有用。通过熟练运用这些技巧,开发者可以更好地控制DataWindow的行为,增强数据的呈现方式,并为用户带来更生动的交互体验。
2012-12-05 上传
2010-09-05 上传
2012-03-22 上传
2022-06-14 上传
2022-03-09 上传
2022-05-05 上传
2022-03-21 上传
2013-04-11 上传
2013-04-17 上传
悠闲饭团
- 粉丝: 195
- 资源: 3399
最新资源
- Android圆角进度条控件的设计与应用
- mui框架实现带侧边栏的响应式布局
- Android仿知乎横线直线进度条实现教程
- SSM选课系统实现:Spring+SpringMVC+MyBatis源码剖析
- 使用JavaScript开发的流星待办事项应用
- Google Code Jam 2015竞赛回顾与Java编程实践
- Angular 2与NW.js集成:通过Webpack和Gulp构建环境详解
- OneDayTripPlanner:数字化城市旅游活动规划助手
- TinySTM 轻量级原子操作库的详细介绍与安装指南
- 模拟PHP序列化:JavaScript实现序列化与反序列化技术
- ***进销存系统全面功能介绍与开发指南
- 掌握Clojure命名空间的正确重新加载技巧
- 免费获取VMD模态分解Matlab源代码与案例数据
- BuglyEasyToUnity最新更新优化:简化Unity开发者接入流程
- Android学生俱乐部项目任务2解析与实践
- 掌握Elixir语言构建高效分布式网络爬虫