深入了解PowerBuilder的数据窗口

豆豆网   技术应用频道   2006年08月05日  【字号: 收藏本文

本文详细介绍深入了解PowerBuilder的数据窗口

  3. 数据的突出显示

  数据窗口应该能使用户很快找到他们想要的信息,以颜色区分既满足用户的习惯,又不占系统资源,实现起来也很简单。以学生管理为例,要求成绩低于60分的以红色显示,其他不变。方法是:在数据窗口中对应成绩的列(例如‘/CJ’)上双击鼠标左键或单击鼠标右键,弹出Column Object对话框,选取Expressions页,在Color后的框中输入:

  if(cj<60,rgb(255,0,0),rgb(192,192,192))此句表示当成绩小于60则显红色,否则灰色显示。

  IF语句只可能有两种选择,如果要更多的条件判断则必须用CASE语句,例如成绩大于等于90用蓝色,小于60用红色,其他用绿色则应该用以下语句:

  Case(cj WHEN IS >=90 THEN RGB(0,0,255) WHEN IS < 60 THEN RGB(255,0,0) E

  LSE RGB(0,255,0))。

  我们还可以输入更加复杂的公式。

  图形是最好的说明语言,为了更好体现数据的直观性,可以采用条件位图的方法。之所以称为条件位图,是因为它随数据的性质而决定是否显示,用可以在上述的成绩管理数据窗口的前面加上一个图片.双击位图,弹出Picture Object对话框,选Expressions页,在Visible右的编辑框写入if(xb=‘0’,1,0),此句的意义为当性别为0(女)时蝴蝶出现,否则蝴蝶消失。程序运行起来相当直观。读者可以触类旁通,充分利用列的属性使用户的界面更加友善、漂亮。

  4. 数据的保护

  有很多情况需要对数据进行保护(即只能显示而不允许修改),学生查询成绩时就是这种情况。进行数据保护的方法有很多,第一种是双击要保护的列,弹出Column Object,选取Edit页,将Display Only框选中;第二种将要保护的列的TabOrder置0,则此列得不到焦点,当然就无从修改;第三种是从根本作起,选取Rows菜单,再选取Update Properties,弹出Specify Update Properties对话框,将Allow Updates设为空,这样即使用户更改了也无法更新数据库,使更改毫无意义。

  以上情况都是事先已经确定需要保护的数据。如果有些数据要保护,有些不要保护则以上的方法就无法实现。例如合同台账管理:对于一个没有实施的合同可以更改,对于一个已经实施的合同则必须加以保护。这需要用列的保护属性来实现,方法如下:

  双击每一列,弹出Column Object对话框,选取Expressions页,在Protect后的框中写入:if(sfss=‘1’,1,0),其中sfss为表示合同是否实施,如果实施(值为‘1’)则进行数据保护,否则可以更改,此方法可以在程序运行中动态控制数据的保护方式。

  5.数据窗口的多表更新

  在处理数据时,经常需要将几个表中的数据放入一个数据窗口中进行处理。一般情况下多表数据源的数据窗口只能用于数据的检索,而不能更新。想要更新数据则采用的方法为:创建数据窗口(将各个表的主键包括进去),修改Taborder使数据能被更改,然后对应各个表创建相应的隐含数据窗口,隐含数据窗口的数据项和主数据窗口中对应表的数据项应完全一致。存盘时将主数据窗口中的数据拷贝到相应的隐含数据窗口中去,逐个保存各隐含数据窗口中的数据即可。由此看来,第二种方法更容易理解和接受,实现起来也很简单。

责编:豆豆技术应用

正在加载评论...