自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(19)
  • 收藏
  • 关注

原创 实现打印完一个DataWindow后不换页

首先将datawindow的print输出到一个打印文件中,把其他的print也输入这个prn,然后,打印这个打印文件就行了。如:datawindow_control1.o b j e c t.datawindow.print.filename="c:/printfilepath/exam_1.prn"datawindow_control2.o b j e c t.datawindow.print

2007-08-13 17:16:00 805

原创 数据窗口技巧

1、得到当前鼠标所指对象所在的带区string str_bandstr_band=GetBandAtPointer() //得到当前鼠标所指对象所在的带区str_band=left(str_band,(pos(str_band,~t) - 1))//得到"header"、"detail"等if str_band2、 得到鼠标指向的列对象名str_o b j e c t=GetObjectAtP

2007-08-13 17:13:00 476

原创 从数据窗口中获取数据

单条:假设我们要读取dept_id字段的第一笔数据,可以用下列方式表示∶li_id = dw_1.o b j e c t.dept_id[1]假设我们要读取第一行中第二个字段的数据,可以用下列方式表示∶ls_name = dw_1.o b j e c t.DATA[1,2]假设我们要读取dept_id字段的所有数据,可以用下列方式表示∶li_array = dw_1.o b j e c t.dep

2007-08-13 17:12:00 804

原创 Getchild函数主要被用来得到一个数据窗口的子数据窗口

该函数在两种情况下可以使用,1、取出数据窗口对象的下拉式数据窗口;2、取出复合风格(composite)数据窗口对象里所嵌入的子数据窗口对象。语法:integer dwcontrol.GetChild (string name, REF DataWindowChilddwchildvariable ) 例子1 这段程序取出一个composite数据窗口对象的两个子数据窗口,并对他们进行过滤,和排序

2007-08-13 17:07:00 1595

原创 数据窗口检查重复行

dw_1.SetSort ("user_id A")dw_1.Sort()dw_1.SetFilter ("user_id = user_id[-1]")dw_1.Filter()if dw_1.RowCount() > 0 thenMessagebox("注意", "用户编码重复.")end ifdw_1.SetFilter ("")dw_1.Filter() 

2007-08-13 17:05:00 727

原创 控制DATAWINDOW里每页显示的行数

1、在Datawindow中增加一个计算域,起名为:ceil_page,此计算域必须放在Detail段中,Expression中输入 ceiling(getrow()/25) 25表示每页打印25行,也可以是一个参数。2、分组,选择菜单Rows/Create Group,选择ceil_page按ceil_page分组,并选中New Page On Group Break(意思是新组开始时换页)。3

2007-08-13 17:05:00 1458

原创 使可编辑的数据窗口只读

有时,你可能需要将一个用于编程的数据窗口用作显示目的,可以有以下几种方法来实现这一要求:1。建立两个数据窗口,一个用于编辑,一个用于显示2。将数据窗口中的全部对象的taborder设置为0.3。也可以将数据窗口中的列的protect属性设为On或Off,但你不能使用protect属性进行编辑操作4。数据窗口有一个将datawindow设为只读的属性(readonly),使用它最方便。 

2007-08-13 17:03:00 858

原创 使用Line建立漂亮的Grid DataWindow的技巧

虽然PowerBuilder有Grid风格的DataWindow,但不够灵活,如果想打印一张边框粗线条或双线,内框为细线条的表格直接使用Grid风格的DataWindow就不能实现。因此许多人都用Tabular风格的DataWindow,然后自己用Line来实现Grid。 在调整线条位置是一个即伤脑筋又伤眼睛的事件,而一旦需要调整行高,所有工作都得重来,试一试用下面方法,会大大减轻你的工作量: 在

2007-08-13 17:02:00 650

原创 美化DataWindow的显示效果

使DataWindow的单双行显示颜色不同,不仅仅可以使你的应用程序更显专业性,并使数据的可读性增强。先调出你需要改动的DataWindow,在Detail band按下右键选择Properties,选择Tab页中的Expressions,在color属性中输入下面内容:(注意是在Detail明细显示段按右键,而不是在Column上) IF(MOD(GETROW(),2)=0,RGB(192, 1

2007-08-13 17:00:00 811

原创 在DataWindow中调整列顺序

在 Gird 风格的 DataWindow 中,列的排列顺序是按照你选择 Column 的顺序排列的,并且不能改变.要改变列的顺序则必须重新制作 DataWindow. 最近我发现一个办法可以改变列的顺序: 在 DataWindow 画板中打开要修改的 DataWindow,然后按 Preview 按钮切换到预览模式下,选择要移动的列标题并拖动到预定位置,然后返回 DataWindow 画板,

2007-08-13 16:59:00 2004

原创 使数据窗口中的被选中行具有更好的外观

大家都知道,在选择数据窗口中的某一行时,如果使用pb提供的选择函数SelectRow(),那么的外观真是不能恭维,单调而古板的蓝色背景,可能和您的漂亮而生动的应用程序格格不入。有没有办法改变呢?当然有啰,请听我慢慢道来。    改变某一行的背景比较简单,改变每一列的背景属性(backgroundcolor)即可,可要根据鼠标选择情况自动改变,并可以返回被选中的行可能还需要一定的技巧。下面分单行选择

2007-08-13 16:57:00 732

原创 在数据出口中实现动画

要实现动画,必须要有定时器,在数据窗口中已经有了一个定时器,双击数据窗口将弹出的对话框,在Timer Interval中定义大于零的值就有定时器(可以精确到毫秒),有了这个定时器就可以实现动画了。比如要改变某字段的背景颜色,可设    ackgound.color=RGB(Integer(Right(string(now(),hhmmssf),1))*256/10,Integer(Right(

2007-08-13 16:56:00 457

原创 PowerBuilder数据窗口编程技巧十则

PowerBuilder取得巨大成就的原因就是有Datawindow对象,DataWindow是具有功能强大和灵活多变的特点,本人用PowerBuilder开发过一段时间后,总结出一些技巧,以供广大的PB开发者借鉴使用。   一.如何创建一个报表,如下形式 Quantity Running Total 5,000 5,000 2,500 7,500 3,000 10,500 12,000 22

2007-08-13 16:55:00 626

原创 如何在DataWindow中实现列的自动折行

我们在PowerBuilder应用程序的开发过程中, 使用DataWindow时, 经常会遇到某列的数据太长, 不能同时全部显示的情况. 若采用自动水平滚动, 操作起来又不够简便. 下面介绍一种方法, 实现列数据多行显示, 即实现列数据的自动折行.具体步骤如下:1) 在DataWindow Painter中打开此DataWindow.2) 在需设定自动折行的列上双击鼠标, 弹开此列的属性窗口.3)

2007-08-13 16:53:00 574

原创 使DataWindow列只能追加不能修改

如何使DataWindow中的数据只能追加新记录而不能修改,利用 Column 的 Protect 属性可以很方便的做到这一点,方法如下:将每一列的 Protect 属性设置为:If( IsRowNew(), 0, 1) ) 在 PowerScript 中可以动态修改 Protect 属性:dw_1.Modify("column_name_here.Protect=1~tIf(IsRowNew(

2007-08-13 16:52:00 646

转载 在PowerBuilder中动态调用函数

   目前流行的大部分应用程序中都提供了Undo功能,在PowerBuilder中也可以利用Undo()函数实现该功能。Undo()函数可用于DataWindow, EditMask, MultiLineEdit, RichTextEdit和SingleLineEdit 对象,如果只对某一个对象进行Undo操作,只需在Undo菜单项的单击事件中键入如下脚本:Objectname.undo(),但是

2007-08-13 16:47:00 1028

转载 在POWERBUILDER中使用WINSOCK控件的方法

  随着资源共享和实时通讯的需要,很多计算机应用程序早已甩开单兵作战的模式,转入联合行动。   网络在计算机世界里,越来越发挥着举足轻重的作用。在WINDOWS应用程序中,处理实时通讯最常用到的还是MICROSOFT公司提供的WINSOCK控件。许多资料都细述了WINSOCK在VB中的使用方法,就连WINDOWS本身提供的hlp文件也是针对VB而写的。笔者因为实际应用的需要,琢磨出了WINSOCK

2007-08-13 16:45:00 1150

转载 用PowerBuilder开发多媒体播放器

  PowerBuilder作为一种优秀的数据库前端开发工具,深受广大数据库开发者的青睐,现在的数据库涉及到多媒体应用越来越多,而PowerBuilder没有像VB、Delphi那样提供开发多媒体的控件,但并不是说利用PowerBuilder就不能开发多媒体。下面就介绍利用PowerBuilder开发多媒体的三种方法(以播放视频文件AVI为例)。  一、利用OLE方法  打开要播放的多媒体的窗体,

2007-08-13 16:43:00 883

转载 PB中编写10进制到其他进制的转换函数

  有时候我们要用到10进制与其他进制之间的转换,如10-16进制的转换。在此我编写了一个函数,可以方便的把10进制转换到其他进制。  函数为changejz(long shi,int how )其中参数shi为要转换的10进制数据,how为要转换到的进制类型,取值为2,8,16三个,整个函数的返回值为string型。  大家都知道,要把10进制转换到诸如8进制,首先得转换到2进制,再由2进制转换

2007-08-13 16:41:00 872

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除