pb数据窗口技巧38个 收藏

合集下载

PB数据窗口常用函数方法

PB数据窗口常用函数方法

PB数据窗口常用函数方法1. Retrieve函数:用于从数据库中检索数据,可以通过设置检索条件过滤数据。

例如,dw_employee.Retrieve(将从数据库中检索出所有的员工数据。

2. Update函数:用于更新数据窗口中的数据到数据库中。

例如,dw_employee.Update(将更新数据窗口中的所有修改到数据库中。

3. Create功能:用于创建一个新的数据行。

例如,dw_employee.Create(将在数据窗口中新增一行空数据。

4. Modify功能:用于修改数据窗口中的数据。

例如,dw_employee.Modify(将允许用户进行修改操作。

5. InsertRow函数:用于在数据窗口中插入一行数据。

例如,dw_employee.InsertRow(1)将在第一行之前插入一行数据。

6. DeleteRow函数:用于删除数据窗口中的一行数据。

例如,dw_employee.DeleteRow(2)将删除第二行的数据。

7. SetItem函数:用于设置数据窗口中指定列的值。

例如,dw_employee.SetItem(1, "John")将设置第一列的值为"John"。

8. GetItem函数:用于获取数据窗口中指定列的值。

例如,string ls_name = dw_employee.GetItemString(1)将获取第一列的值并赋给ls_name变量。

9. GetRowCount函数:用于获取数据窗口中的行数。

例如,intli_rows = dw_employee.GetRowCount(将返回数据窗口中的行数。

10. GetColumnCount函数:用于获取数据窗口中的列数。

例如,int li_columns = dw_employee.GetColumnCount(将返回数据窗口中的列数。

11. GetRow函数:用于获取数据窗口中指定行的数据。

PB使用小技巧

PB使用小技巧

PB使用小技巧1. 如何使PB窗口总在最上层通过SetWindowPos函数把窗口的显示层次修改为HWND_TOPMOST,就可以使指定窗口永远不会被其他窗口覆盖,该函数声明为:Function Long SetWindowPos(Long hwnd, Long ord, Long x, Long y, Long dx, Long dy, Long uflag) Library “user32.dll”参数1为要顶层显示的窗口句柄,参数2指定显示的层次,参数7为附加选项,其余参数指定窗口位置和大小,均可忽略。

在窗口的Open或Activate事件中加入如下函数调用:SetWindowPos(Handle(This),-1,0,0,0,0,3)参数2取-1表示在最顶层显示窗口,取1表示在最底层显示;最后一个参数若取1,表示窗口大小保持不变,取2表示保持位置不变,因此,取3(=1+2)表示大小和位置均保持不变,取0表示将窗口的大小和位置改变为指定值。

2. 在PB中如何获得光盘盘符通过GetDriveType函数可以获取驱动器(如:软驱、硬盘、光驱、网络映射驱动器等)的信息,该函数声明为:Function Unit GetDriveTypeA(String drive) Library “kernel32.dll”参数为一个盘符(如“C:”),返回值:1表示未知,2表示软驱,3表示本地硬盘,4表示网络驱动器,5表示光驱。

因此如下代码可以获得光盘的盘符:For I=Asc(‘D’) to Asc(‘Z’)//列举所有可能的CDROM的驱动器If GetDriveTypeA(Char(i)+”:”) = 5 Then//若找到CDROMMessagebox(“CDROM”,Char(i)+”:”)//显示光盘盘符Exit //退出循环End ifNext3. 在PB中如何获取目录信息(1)获取当前目录。

通过GetCurrentDirectory函数可以获取当前目录,该函数声明为:Function Ulong GetCurrentDirectory(Ulong buflen,ref String dir)Library “kernel32.dll”参数2为接受当前目录的字符缓冲区,前面必须加ref表示地址引用;参数1用来指定字符缓冲区的长度。

PB数据窗口教程

PB数据窗口教程

PB数据窗口教程数据窗口是PowerBuilder中最常用的控件之一、它用于显示数据库查询结果,并提供了对此结果进行浏览、修改和删除等操作的功能。

本教程将为您介绍如何在PowerBuilder中使用数据窗口控件。

第一步是创建一个数据窗口。

在PowerBuilder的“对象”菜单下,选择“新建”>“数据窗口”。

在弹出的对话框中,选择所需的数据源和表格,并点击“确定”按钮。

此时,将会出现一个空白的数据窗口设计器。

接下来,将需要显示在数据窗口中的列添加到数据窗口中。

您可以通过拖拽数据库字段或手动添加列的方式进行操作。

在设计器的左侧,您将看到一个“对象树”面板,在这里选择数据窗口对象,并右键单击以添加列。

完成列的设置后,您可以在设计器的页面中放置其他控件,以增强用户界面。

一些常用的控件包括文本框、复选框、下拉列表框等。

您可以通过拖拽控件到数据窗口设计器的页面中进行操作,并根据需要设置其属性。

下一步是设置数据窗口的数据源。

在数据窗口设计器的菜单栏中,选择“数据”>“设置数据源”选项。

在弹出的对话框中,选择所需的数据源和表格,并点击“确定”按钮。

此时,数据窗口将会显示数据源中的数据。

现在,您可以运行应用程序,并查看输出窗口中的结果。

您可以通过点击数据窗口中的列标题对数据进行排序,通过点击数据行进行选择,并通过单击“查阅”按钮在查询结果中进行导航。

如果需要,您还可以在数据窗口中进行增加、修改和删除操作。

通过本教程,您应该已经了解了如何在PowerBuilder中创建和使用数据窗口控件。

数据窗口是PowerBuilder开发中非常重要的一部分,掌握了数据窗口的使用方法,可以提升开发效率,并为用户提供更好的用户界面和交互体验。

希望本教程能对您有所帮助!。

PB数据窗口绝对技巧

PB数据窗口绝对技巧

PB数据窗口绝对技巧PB数据窗口绝对技巧是指通过使用PowerBuilder开发环境的数据窗口对象实现高效数据处理的技巧。

数据窗口是PowerBuilder中最重要和最常用的对象之一,它可以用于显示和操作数据库中的数据。

下面将介绍一些PB数据窗口的绝对技巧。

1.使用绑定数据窗口:绑定数据窗口是将数据窗口与数据库表绑定在一起,这样可以方便地进行数据的读取、修改和保存操作。

使用绑定数据窗口可以避免手动编写SQL语句或存储过程,大大提高了开发效率。

2.优化数据窗口的性能:数据窗口的性能优化是开发过程中非常重要的一环。

可以通过以下方法来提高数据窗口的性能:-只选择需要的列:只选择需要的列可以减少网络传输的数据量,提高数据检索的速度。

-使用约束和过滤器:可以在数据窗口中使用约束和过滤器来限制返回结果集的大小,进一步提高性能。

-使用预检索:可以在打开数据窗口之前使用预检索功能,先将数据加载到缓存中,减少后续操作对数据库的访问次数。

3.自定义数据窗口的样式:可以通过数据窗口的属性和事件来自定义数据窗口的样式。

例如,可以设置列的显示格式、颜色和字体等属性,还可以通过事件来实现数据窗口的验证和计算逻辑。

4.使用数据窗口的分组功能:数据窗口的分组功能可以将数据按照指定的列进行分组,并对每个分组进行汇总计算。

这样可以方便地进行数据的统计和报表生成。

5.使用数据窗口的嵌套功能:数据窗口可以嵌套在其他数据窗口中,形成复杂的数据结构。

通过使用数据窗口的嵌套功能,可以实现多层次的数据展示和操作,提高用户体验和数据处理的灵活性。

6.使用数据窗口的插入和更新语句:数据窗口可以使用自动生成的插入和更新SQL语句来实现数据的插入和修改操作。

这样可以避免手动编写大量的SQL语句,简化开发过程。

7.使用数据窗口的事务处理:数据窗口的事务处理功能可以保证一系列的操作要么全部成功,要么全部失败。

可以通过使用数据窗口的事务处理功能来实现数据的批量插入和更新,提高数据处理的效率和数据的一致性。

PB的数据窗口操作

PB的数据窗口操作

PB的数据窗口操作
1. 数据绑定:数据绑定是将数据源与数据窗口进行关联的过程。


过数据绑定,可以将数据库表或查询结果集中的数据与数据窗口中的控件
进行关联。

数据绑定可以在PB的设计时完成,也可以在运行时通过代码
实现。

PB提供了丰富的数据源选择,包括数据库、Web服务、XML文件等。

2.数据显示:数据显示是指将数据从数据源中显示到数据窗口中的控
件上的过程。

数据窗口支持多种类型的数据控件,包括文本框、下拉列表框、复选框等。

用户可以通过数据源中的字段与数据窗口中的控件进行映射,从而实现数据的显示。

4.数据操作:数据操作是指用户可以通过数据窗口对数据源进行增删
改查等操作。

数据窗口提供了一系列的方法和事件,可以方便地对数据源
进行操作。

用户可以通过代码来调用这些方法,实现对数据源的各种操作。

PB 数据窗口高级( DataWindow)应用37个技巧

PB 数据窗口高级( DataWindow)应用37个技巧

PB 数据窗口高级( DataWindow) 37个技巧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.注意:连在一起的汉字(中间没有标点或空格分隔), 系统将认为是一个单词, 不会自动进行折行.3. 在数据窗口中实现动画要实现动画,必须要有定时器,在数据窗口中已经有了一个定时器,双击数据窗口将弹出的对话框,在Timer Interval中定义大于零的值就有定时器(可以精确到毫秒),有了这个定时器就可以实现动画了。

PB的数据窗口操作

PB的数据窗口操作

PB的数据窗口操作PB(PowerBuilder)是一种基于面向对象的集成开发环境(IDE),主要用于构建企业级应用程序。

在PB中,数据窗口是一项非常重要的功能,可以用于对数据的处理、展示和修改。

下面将从数据窗口的基本操作、高级特性和数据窗口设计原则等方面,详细介绍PB的数据窗口操作。

一、数据窗口的基本操作1. 创建数据窗口:在PB中,可以通过向导或手动创建数据窗口。

创建数据窗口是通过选择数据源(数据库表、视图或存储过程)、选择数据窗口类型(Grid、Tabular等)和设置窗口布局等步骤完成的。

2.数据绑定:在数据窗口中,可以通过数据绑定将数据源与数据窗口中的控件关联起来。

通过设置数据绑定属性,可以实现数据的读取、展示和修改等功能。

3.数据检索:使用数据窗口可以方便地进行数据检索。

通过设置查询条件、排序方式和数据过滤等属性,可以按照需求从数据库中检索数据,并在数据窗口中显示出来。

4.数据更新:除了展示数据,数据窗口还可以用于数据的更新。

通过设置数据窗口的更新属性,可以实现数据的插入、修改和删除等操作。

同时,PB还提供了事务管理和数据验证等功能,确保数据的完整性和一致性。

5.数据导航:在数据窗口中,可以轻松地实现数据的导航功能。

通过设置数据窗口的导航属性,可以方便地浏览数据,并进行上一条、下一条、第一页和最后一页等操作。

6.数据格式化:PB提供了丰富的数据格式化选项,可以对数据窗口中的数据进行格式化和显示。

例如,可以设置日期格式、货币格式和数值格式等,以便更好地展示和分析数据。

二、数据窗口的高级特性1.动态数据窗口:PB允许动态创建和操作数据窗口。

通过使用动态数据窗口,可以在运行时动态改变数据窗口的结构和属性。

这对于动态查询和灵活的数据展示非常有用。

2.嵌套数据窗口:PB支持嵌套数据窗口的使用。

通过将一个数据窗口嵌套在另一个数据窗口内部,可以实现复杂的数据关联和显示。

例如,可以在父数据窗口中显示子数据窗口的数据。

pb数据窗口技巧

pb数据窗口技巧

pb中datawindow常用技巧一(2009-04-16 17:09:07)转载▼分类:PowerBuilder标签:杂谈pb中datawindow常用技巧一1、如何让存储文件目录的列,显示图片?答:选择对应的column的display as picture属性为true2、如何复制grid类型的所选择的行的数据到系统剪切板?答:string ls_selectedls_selected=dw_1.Object.DataWindow.Selected.Dataclipbord(ls_selected)4、如何设置的DW底色?在DW的editsource中改变color的值5、如何将Grid风格改成自由格式?在DW的editsource中将processing=1的1改为06、要新建一个表A但风格和现有表格B风格一样,怎么将A表快速设置成表B风格?复制B表C,在C表的DW中的editsource中将表名和字段名改成A表的,即可7、如何实现gird风格的datawindow的多栏表头?答:添加text到header带区,并设置band属性为foreground保存,edit source 修改text的x和width属性表达式如下:x="100~t integer(describe('firstcol.x')" width="100~tinteger(describe('lastcol.x')) - integer(describe('firstcol.x')) +integer(describe('lastcol.width'))8、如何过滤dddw编辑风格的显示值为指定值的记录?答:dw_1.setfilter("lookupdisplay('column_name')='"+ls_display_value_your+"'") dw_1.filter()9、如何设置datawindow的某一列为空?答:string ls_temp[]setnull(ls_temp)dw_1.object.columnname.primary.current=ls_temp10、如何设置datawindow的单双行不同颜色间隔?答:在detail带区的color属性表达式中写上if(mod(getrow(),2)=1 ,rgb(255,0,0),rgb(0,255,0)),如果是当前行以第三种颜色表示,表达式如下:if(getrow()=current(),rgb(255,0,0),if(mod(getrow(),2)=1 ,rgb(0,0,255),rgb(0,255,0)))11、如何获取指定名称的datawindowobject?答:DWObject ldwo_use,ldwo_abc ldwo_use = dw_1.Object ldwo_abc =ldwo_use.__get_attribute("t_1",FALSE)//t_1为datawindow中text对象的名称12、如何缩放datawindow的打印大小?答:dw_1.object.datawindow.zoom=150 or dw_1.object.datawindow.zoom=75 13、如何在已过滤后的数据基础上对datawindow进行过滤?答:dw_1.setfilter(dw_1.describe("datawindow.table.filter")+your_join+your_new_filt er)dw_1.filter()14、如何在datawindow中显示动态时间?答:建立一个计算域,表达式为string(datetime(today(),now()),'yyyy年mm月dd日hh点mm分ss秒'),同时设置datawindow的属性dw_1.Object.DataWindow.Timer_Interval=50015、如何让带用title bar的datawindow控件的标题栏诚活动窗口的颜色?答:外部函数定义:funcation logn SetActiveWindow(long hwnd ) Library "user32.dll" datawindow控件的clicked事件代码:setactivewindow(handle(this))16、如何设置datawindow的当前行指示图标?答:在datawindow中建立一个计算列,expression为'',并将该计算列移动为datawindow的第一个列,在datawindow控件的rowfocuschanged事件中写入代码:SetRowFocusIndicator(hand!)或setrowfucsindicator(p_1)//p_1为窗口上的picture控件名17、如何通过代码打开dddw?答:定义外部函数引用声明SUBROUTINE keybd_event( int bVk, int bScan, int dwFlags, int dwExtraInfo) LIBRARY "user32.dll"代码如下:[constant integer VK_F4 = 115dw_1.SetFocus()dw_1.SetColumn( "dept_head_id" ) //设置当前dddwkeybd_event( VK_F4,0,0,0 ) // 按下F4键keybd_event( VK_F4,0,2,0 ) // 释放F4键18、如何打印datawindow的内容到文件中?答:dw_1.object.datawindow.print.fileName ="c:\temp.prn"dw_1.print()19、如何设置dddw的初始值?答:dw_1.object.columnname.Initial="your_initial_value"20、如何只显示不同的数据?答:dw_1.filter("isnull(columnname[-1]) and columnname<>columnname[-1]") dw_1.filter()21、如何让带有title bar的datawindow不可以移动?答:在datawindow的自定义事件ue_nchittest(pbm_nchittest)中写入如下代码:return 122、如何在N-UP显示风格中建立基于第N栏中的列的计算列?答:如column有两列,number和price ,并显示为两栏,则第一栏的cost计算列的expression为number*price,第二栏的cost_1计算列的expression为number[1]*price[1]23、如何清空ddlb或edit.codetable中项目?答:dw_1.Object.columnname.Values=""24、如何实现指定的column的字体旋转90度?答:dw_1.object.columnname.font.Escapement ="900"25、如何获取datawindow的sql代码?答:可以通过以下四种方法获取sql代码:string szselectszselect=dw_1.describe("datawindow.table.select")szselect=dw_1.describe("datawindow.table.sqlselect")szselect=dw_1.describe("datawindow.table.select.attribute")szselect=dw_1.getsqlselect()27、如何获取datawindow对象占有的虚拟存储的容量?答:使用datawindow.storage属性举例:在datawindow控件的retrieverow事件中,写如如下代码:long lstoragelstorage=long(dw_1.object.datawindow.storage)if lstorage>50000 then dbcancel()28、如何连续在同一张纸打印两个数据窗口?答:dw_1.object.datawindow.print.filename="temp.prn"dw_2.object.datawindow.print.filename="temp.prn"dw_1.print()dw_2.print()29、如何设置datawindow分组后每个分组中的记录号?答:建立一个计算列,expression为getrow() - first(getrow() for group 1)+1 30、如何实现在datawindow中只有新增的行,才可以编辑?答:在所有的column的protect属性表达式中写入以下表达式:if(isrownew(),'0','1')31、除了循环以外,有没有更好的方法统计数据窗口中处于选中状态的行数?一般习惯于使用循环来统计数据窗口中处于选中状态的行数,有没有更好的方法?其实此问题在应用上用处不大,讨论一下,活跃一下思维还是有好处的。

pb datawindow38个技巧

pb datawindow38个技巧

字号:大中小PB DataWindow 38个技巧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.注意:连在一起的汉字(中间没有标点或空格分隔), 系统将认为是一个单词, 不会自动进行折行.3 在数据窗口中实现动画要实现动画,必须要有定时器,在数据窗口中已经有了一个定时器,双击数据窗口将弹出的对话框,在Timer Interval中定义大于零的值就有定时器(可以精确到毫秒),有了这个定时器就可以实现动画了。

PB数据窗口技巧大全

PB数据窗口技巧大全

PB数据窗口技巧大全PB数据窗口是PowerBuilder语言中的一种常用控件,用于显示和操作数据。

在实际项目开发中,掌握一些PB数据窗口的技巧能够提高开发效率和用户体验。

下面是一些常用的PB数据窗口技巧的详细介绍,包括动态数据源、处理数据更新、格式化数据、控制数据窗口行为等方面。

1. 动态数据源:PB数据窗口支持通过修改SQL语句和参数实现动态查询。

可以通过修改dw_1.sqlsyntax和dw_1.settransobject等属性实现动态数据源切换或过滤。

2. 处理数据更新:PB数据窗口提供了一些方法来处理数据的插入、更新和删除。

可以使用dw_1.insertrow、dw_1.updaterow和dw_1.deleterow等方法来实现数据的增删改操作。

3. 格式化数据:PB数据窗口提供了一些格式化数据的方法,可以通过修改数据窗口列的format属性来实现对数据的格式化。

例如,可以使用dw_1.modify表示列的format属性来自定义数据的显示格式。

4. 排序和过滤数据:PB数据窗口提供了排序和过滤数据的功能。

可以通过修改dw_1.setsort和dw_1.setfilter等方法实现对数据的排序和过滤。

5. 控制数据窗口行为:PB数据窗口提供了一些属性和方法来控制数据窗口的显示效果。

例如,可以使用dw_1.retrieve来重新检索数据,使用dw_1.setitemstatus来设置数据窗口的状态等。

6.多表连接查询:PB数据窗口支持多表连接查询,可以通过在SQL 语句中使用连接符号和条件来实现多表连接查询的功能。

7.数据窗口插入计算列:PB数据窗口支持插入计算列,可以通过在SQL语句中使用函数和表达式来插入计算列实现对数据的计算和处理。

8.数据窗口多级分组:PB数据窗口支持多级分组,可以通过在数据窗口中设置分组列和聚合函数来实现数据的分组和统计。

9.数据窗口嵌套:PB数据窗口支持嵌套,可以在一个数据窗口中插入另一个数据窗口,实现数据的嵌套显示和处理。

PB数据窗口教程

PB数据窗口教程

PB数据窗口教程PowerBuilder是一种流行的集成开发环境,用于快速构建企业级应用程序。

在PowerBuilder中,数据窗口是其中最重要的部分之一、数据窗口提供了一个可视化的界面,用于显示和操作数据库中的数据。

本教程将详细介绍PowerBuilder数据窗口的使用方法。

一、什么是数据窗口数据窗口是PowerBuilder的核心组件之一、它提供了一种直观的方式来显示数据库中的数据,并允许用户进行增删改查等操作。

数据窗口可以与各种类型的数据库进行交互,包括关系型数据库(如Oracle、SQL Server等)和非关系型数据库(如NoSQL数据库等)。

数据窗口具有以下特点:1.可以显示单行或多行数据2.可以进行数据排序和过滤4.可以处理数据库事务5.可以显示图表、嵌入其他控件等二、数据窗口的基本操作要创建一个数据窗口,首先需要打开PowerBuilder开发环境并创建一个新的PowerBuilder项目。

然后,右键单击项目资源树中的“数据窗口”节点,并选择“新建数据窗口”。

在数据窗口设计器中,可以通过添加列、设置数据源、定义布局等来定义数据窗口的外观和功能。

可以使用“数据窗口”菜单上的各种选项来完成这些操作。

接下来,可以将数据窗口添加到应用程序的窗口中。

在窗口设计器中,可以从工具箱中拖动数据窗口控件到窗口中,并调整位置和大小。

三、使用数据窗口实现增删改查操作PowerBuilder的数据窗口提供了一套强大的功能来实现数据的增删改查操作。

下面是一些常用的操作方法:1.查询数据:在数据窗口设计器中,可以设置数据窗口的数据源,包括选择数据库表、指定查询条件等。

在运行时,数据窗口将自动执行查询操作,并将结果显示在界面上。

2.添加数据:可以使用数据窗口的插入按钮或右键菜单来添加新的数据行。

在添加数据时,可以直接在数据窗口中输入数据,或者通过调用数据窗口的弹出窗口来输入数据。

4.删除数据:可以使用数据窗口的删除按钮或右键菜单来删除选中的数据行。

[整理版]利用PB动态创建数据窗口

[整理版]利用PB动态创建数据窗口

利用PB动态创建数据窗口当利用PowerBuilder建立数据窗口时,用户通常不能自己选择数据来源和显示类型。

如何让用户在应用程序中自己定义数据窗口的数据来源和显示类型呢?为了达到这个目的,我们必须在运行程序阶段根据用户自己的需求,动态地建立一个数据窗口。

笔者将结合实际,详细介绍动态创建数据窗口的步骤。

在建立动态数据窗口之前,必须先得到数据窗口对象的语法,PB中为我们提供了SyntaxFromSQL( )函数,利用这个函数可以得到建立数据窗口的语法。

SyntaxFromSQL()函数的基本格式如下:事物对象.SyntaxFromSQL(数据来源字符串,显示类型字符串,错误字符串)下面是建立一个数据窗口对象语法的范例∶利用SyntaxFromSQL( )所建立的数据窗口对象是在运行阶段才建立的对象,并不会自动保存在PB的对象数据库Library 中。

为了以后可以重复使用这个数据窗口对象,可以利用LibraryImport( )函数保存数据窗口对象。

在利用SyntaxFromSQL( )函数建立一个数据窗口语法后,必须将它与窗口上的数据窗口控件结合,这个数据窗口控件必须已经存在于窗口中。

要将数据窗口对象语法和一个已经存在的数据窗口控件结合,必须利用Create( )函数,下面是范例程序∶在上面程序中,ls_syntax是运行SyntaxFromSQL( )函数后所返回的字符串。

除此之外,也可以利用Librar yExport( )函数从PB对象数据库中得到已经存在于PBL中的数据窗口对象语法。

因为Create( )函数会破坏先前数据窗口与事物对象的结合,所以必须利用SetransObject( )函数重新结合事物对象给新的数据窗口对象,最后再运行Retrieve( )函数,从数据库中读取数据。

最后,我们需要利用SQL 语句字符串,动态创建一个新的数据窗口对象到一个数据窗口控件当中。

虽然,在运行阶段并不能直接在窗口上建立一个数据窗口控件,但却可以利用用户对象建立一个与窗口上一样的数据窗口控件,在运行阶段时再动态打开这个用户对象。

PB窗口使用技巧

PB窗口使用技巧

[PB]-窗口使用技巧**在打开和关闭窗口时进行数据传递OpenWithParm(windowvar,parmeter{,parent})其中windowvar是要打开的窗口名称,可以是window画板中定义的窗口,也可以是脚本中定义的窗口变量;parameter是要传递的参数,只能是String,Numeric或者PowerObject类型,该参数根据类型保存在Message的成员变量中传递个要打开的窗口;parent是一个已经打开的窗口名称,该窗口要成为windowvar窗口的父窗口。

函数执行成功返回1,否则返回-1,如果有参数为null 则返回null。

对象Message是一个结构类型的全局变量,并有很多的成员变量。

在传递参数时三个成员变量用来读取传递的数据,它们是:Message.DoubleParm:用来传递Numeric类型的数据。

Message.PowerObjectParm:用来传递PowerObject对象类型的数据,象数据窗口、按键、列表框和拥护自定义的结构等都可以使用该变量进行传递。

Message.StringParm:用来传递String类型的数据。

当使用函数OpenWithParm打开窗口后,应该在进行其他操作之前首先读取传递过来的参数,以免其他操作修改Message中的成员变量。

CloseWithReturn(windowname,Returnvalue)其中,windowname是要关闭的窗口的名称,一般是脚本所在的窗口的名称;Returnvalue是要返回的数值,和上述函数OpenWithParm的完全相同。

函数正确执行返回1,否则返回-1,当有参数为null时则返回null。

*只要是response类型的窗口,使用该函数就能有效地传递参数;该窗口不一定非得是用OpenWithParm打开的。

在打开该response的窗口中可以读取传递过来的参数。

总之,使用CloseWithReturn函数时一定要注意,只有被关闭的窗口是response 类型才能有效地获取返回参数。

PB窗口使用技巧

PB窗口使用技巧

[PB]-窗口使用技巧**在打开和关闭窗口时进行数据传递OpenWithParm(windowvar,parmeter{,parent})其中windowvar是要打开的窗口名称,可以是window画板中定义的窗口,也可以是脚本中定义的窗口变量;parameter是要传递的参数,只能是String,Numeric或者PowerObject类型,该参数根据类型保存在Message的成员变量中传递个要打开的窗口;parent是一个已经打开的窗口名称,该窗口要成为windowvar窗口的父窗口。

函数执行成功返回1,否则返回-1,如果有参数为null 则返回null。

对象Message是一个结构类型的全局变量,并有很多的成员变量。

在传递参数时三个成员变量用来读取传递的数据,它们是:Message.DoubleParm:用来传递Numeric类型的数据。

Message.PowerObjectParm:用来传递PowerObject对象类型的数据,象数据窗口、按键、列表框和拥护自定义的结构等都可以使用该变量进行传递。

Message.StringParm:用来传递String类型的数据。

当使用函数OpenWithParm打开窗口后,应该在进行其他操作之前首先读取传递过来的参数,以免其他操作修改Message中的成员变量。

CloseWithReturn(windowname,Returnvalue)其中,windowname是要关闭的窗口的名称,一般是脚本所在的窗口的名称;Returnvalue是要返回的数值,和上述函数OpenWithParm的完全相同。

函数正确执行返回1,否则返回-1,当有参数为null时则返回null。

*只要是response类型的窗口,使用该函数就能有效地传递参数;该窗口不一定非得是用OpenWithParm打开的。

在打开该response的窗口中可以读取传递过来的参数。

总之,使用CloseWithReturn函数时一定要注意,只有被关闭的窗口是response 类型才能有效地获取返回参数。

在PB中巧用下拉数据窗口

在PB中巧用下拉数据窗口

在PB 中巧用下拉数据窗口---- PowerBuilder 作为目前比较流行的一种开发工具,有其独到之处,那就是数据窗口(DataWindow)。

可以说,数据窗口是PowerBuilder 的核心,在对数据库的开发过程中,无论是录入、查询、统计还是报表,都离不开数据窗口。

但是,除了数据窗口,PB 还提供了下拉数据窗口(DropDown DataWindow),下拉数据窗口的使用,使数据窗口更灵活,更方便,下面举例介绍在数据窗口中使用下拉数据窗口的一些技巧。

---- 在用数据窗口作数据录入时,经常用到代码录入,即对经常输入的某些值设置代码,录入时直接录入代码即可。

例如,有两个表,主表main_table 和代码表code_table,结构如下:main_table字段名类型长度描述Id integer 标识号Name char 8 姓名Sex char 4 性别City Varchar 30 城市Unit Varchar 40 单位---- 下面,详细讨论如何使用下拉数据窗口:一、静态设计下拉数据窗口---- 首先对主表和代码表设计两个数据窗口dw_main 和dw_code,其中dw_main 包括字段id,name,sex,city 和unit; dw_code 包括字段code 和data。

假设unit 字段有几个常用值可使用代码录入,则在设计dw_main 时,用鼠标右键点击字段unit,在下拉菜单中选择Properties...(属性),则系统会弹出unit 列的属性对话框,在其中选择Edit (编辑)项,并在Style(风格)下拉列表框中选择DropDownDW 项,然后在下面的Options(选项)框中作具体的选项配置:在DataWindow 下拉框中选择已设计好的代码数据窗口dw_code 作为下拉数据窗口;在DisplayColumn(显示列)下拉框中选择code 字段;在Data Column(数据列)下拉框中选择data 字段,这表示显示的是code 字段的内容,而实际存于表main_table 中的是data 字段的内容。

60个PB数据窗口技巧

60个PB数据窗口技巧

60个PB数据窗口技巧数据窗口是一种用于展示数据的工具,它可以帮助用户更好地理解和分析数据。

下面是60个PB数据窗口技巧,帮助您更高效地使用数据窗口。

1.在数据窗口左下角的栏中输入关键词,可以快速筛选显示您所需的数据。

2.使用鼠标右键单击数据窗口的列头,可以自定义列的显示与隐藏。

3.在数据窗口的列头拖动可以更改列的顺序和宽度。

4.在数据窗口的列头双击,可以按该列进行排序。

5. 使用Ctrl键与鼠标左键选择多列,可以同时对这些列进行操作。

6.点击数据窗口的行头,可以选择整行。

7. 使用Shift键与鼠标左键选择多行,可以同时对这些行进行操作。

8.双击数据窗口的行头,可以自动调整该行的高度,使其适应内容。

9.在数据窗口的列头右键单击,可以进行更多的列操作,如冻结列、设置列格式等。

10. 使用Ctrl+Enter键,可以在当前单元格中插入换行符。

11. 使用Ctrl+D键,可以复制当前单元格的内容到下一个单元格。

12.在数据窗口的列头左键单击,可以选择一整列。

13. 使用Ctrl+Shift键与鼠标左键选择多个非连续的列。

14.在数据窗口的列头上方的空白区域右键单击,可以选择整个数据窗口。

15.在数据窗口左上角的复选框,可以选择或取消选择整个数据窗口。

16. 使用Ctrl+C键,可以复制选中的单元格或整行到剪贴板。

17. 使用Ctrl+V键,可以粘贴剪贴板中的内容到当前单元格或行。

18. 使用Shift+Enter键,可以在当前单元格下方插入一行。

19. 使用Ctrl+K键,可以在当前单元格中插入一个链接。

20. 使用Ctrl+Space键,可以选择整列。

21. 使用Shift+Space键,可以选择整行。

22.在数据窗口的列头右键单击,可以选择“筛选”,进行高级筛选操作。

23.在数据窗口的列头右键单击,可以选择“合并”,将相邻的相同内容的单元格合并为一个。

24.在数据窗口的列头右键单击,可以选择“拆分”,将合并的单元格拆分回原来的单元格。

PowerBuilder中数据窗口使用

PowerBuilder中数据窗口使用

PowerBuilder中数据窗口使用技巧PowerBuilder(以下简称PB)是一个非常优秀的数据库前端开发工具,其数据窗口(DataWindow)控件充分体现了PB与数据库系统的紧密结合,堪称前端工具的典范。

本文介绍了使用PB设计数据窗口的一些小窍门,希望能对使用PB的开发者有所帮助。

一、校验表达式(Validation Expression)的设置校验表达式是PB提供的一个优良特性。

但您是否觉得表达式的输入过于烦琐呢?一般而言,校验表达式的输入和修改要经历下面4步:1. 选取要编辑的列(Column);2. 按鼠标右键,选择"Properties",将弹出"Column Object"窗口;3. 在窗口中选择"Validation"标签,输入所需的校验表达式;4. 输入完毕后,按"OK"按钮。

这种输入方式有两个缺点:1. 过于烦琐,每输入一个表达式都要经过4步。

这一点在每列的校验表达式都基本相同时尤其明显。

2. 无法统一查看和对比各列的校验表达式,不利于查错。

其实PB提供了一个更加灵活的,专门用于输入校验表达式的工具。

在编辑数据窗口时,选择"rows"菜单的"Column Specifications"项,将会弹出"Column Specifications"窗口。

在窗口中,可以直接设置每一列的校验表达式二、"选择工具"的使用在数据窗口中,有时需要修改所有列的颜色或字体,一般的操作都是一个一个选取。

其实PB 提供了一个非常好的选择工具,用来选择数据窗口中的对象。

这个工具位于"Edit"菜单下的"Select"项中.选择工具一共有7个功能,其中前5个适合用热键直接操作选项功能三、多用户安全访问数据库的实现大多数情况下,您的应用程序将在网络环境下运行。

PB的数据窗口操作

PB的数据窗口操作

Composite 复合报表型的.就是可以由几个DW组合成的Crosstab 交叉报表型. 这个很少用.Freeform 自由风格,就是里面的列可以自已改变的. 常用Graph 统计图,你知道的Grid 网格,类似EXCEL的最常用Group 分组的.有分组小计要用的那种常用Label 标签的就是一个大格子一个大格子排列显示的那种N-Up 分栏显示的.这个少用.Tabular 列表的,这个列表不是太好用.这个也少用★SetTransObject语法:dwcontrol.SetTransObject ( transaction )功能:给数据窗口或者datastore控件dwcontrol设置事务对象transaction,缺省事务对象是SQLCA。

返回值:成功设置事务对象则返回1,执行过程中发生了错误则返回-1,有任意参数为Null时返回Null。

★Retrieve语法:dwcontrol.Retrieve ( {, argument, argument . . . } )功能:使用数据窗口控件的当前事务对象检索数据库中的数据。

如果数据窗口控件对应的数据窗口对象定义了检索参数,则应该在该函数中指定检索参数,参数的个数和数据窗口对象的检索变量个数相等,对应的数据类型相兼容。

返回值:返回数据窗口控件主缓存区(PrimaryBuffer)中的记录数,如果检索数据时发生错误则返回-1,如果任意参数为Null则返回Null*该函数的参数和数据窗口对象定义的参数的顺序要相同,类型要兼容。

个数不能少于数据窗口对象定义的参数,即可以等于和多于数据窗口对象定义的参数,多的参数忽略。

★DeleteRow语法:dwcontrol.DeleteRow ( row )功能:删除数据窗口dwcontrol中的第row行数据,如果row为0则表示删除当前行的数据。

返回值:执行成功则返回1,执行错误则返回-1,如果任意参数为Null则返回Null。

pb数据窗口设置操作

pb数据窗口设置操作

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.注意:连在⼀起的汉字(中间没有标点或空格分隔), 系统将认为是⼀个单词, 不会⾃动进⾏折⾏.3 在数据窗⼝中实现动画要实现动画,必须要有定时器,在数据窗⼝中已经有了⼀个定时器,双击数据窗⼝将弹出的对话框,在Timer Interval中定义⼤于零的值就有定时器(可以精确到毫秒),有了这个定时器就可以实现动画了。

PB数据窗口技巧大全

PB数据窗口技巧大全
ldt_temp = Create DataStore
ldt_temp.DataObject = dw_XX.DataObject
ll_Row = dw_XX.GetRow()
dw_XX.RowsMove(1 , ll_Rows , Primary! , ldt_temp , 1 , Primary!)
dw_1.print()
dw_2.print()
29、如何设置datawindow分组后每个分组中的记录号?
答:建立一个计算列,expression为 getrow() - first(getrow() for group 1)+1
30、如何实现在datawindow中只有新增的行,才可以编辑?
12、如何缩放datawindow的打印大小?
答:dw_1.o b j e c t.datawindow.zoom=150 or dw_1.o b j e c t.datawindow.zoom=75
13、如何在已过滤后的数据基础上对datawindow进行过滤?
答:dw_1.setfilter(dw_1.describe("datawindow.table.filter")+your_join+your_new_filter)
方法一: long ll_Selected ll_Selected = long(dw_1.describe("evaluate('sum( if(IsSelected(), 1, 0) for all)',1)"))
方法二: long ll_Selected ll_Selected = long(dw_1.describe("evaluate('count(IsSelected() for all)',1)"))
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

pb数据窗口技巧38个收藏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.注意:连在一起的汉字(中间没有标点或空格分隔), 系统将认为是一个单词, 不会自动进行折行.3 在数据窗口中实现动画要实现动画,必须要有定时器,在数据窗口中已经有了一个定时器,双击数据窗口将弹出的对话框,在Timer Interval中定义大于零的值就有定时器(可以精确到毫秒),有了这个定时器就可以实现动画了。

比如要改变某字段的背景颜色,可设ackgound.color=RGB(Integer(Right(string(now(),'hhmmssf'),1))*256/10,Integer(Right(string(now (),'hhmmssf'),1))*256/10,0)当然,您不仅可以改变背景颜色,而且可以改变字体等等任何属性,使他可以动起来!4 使数据窗口中的被选中行具有更好的外观大家都知道,在选择数据窗口中的某一行时,如果使用pb提供的选择函数SelectRow(),那么的外观真是不能恭维,单调而古板的蓝色背景,可能和您的漂亮而生动的应用程序格格不入。

有没有办法改变呢?当然有啰,请听我慢慢道来。

改变某一行的背景比较简单,改变每一列的背景属性(backgroundcolor)即可,可要根据鼠标选择情况自动改变,并可以返回被选中的行可能还需要一定的技巧。

下面分单行选择和多行选择分辨说明。

单行选择单行选择比较简单,我们只要将所有字段的背景色的表达式改为:if(GetRow()=CurrentRow(),RGB(255,126,0),RGB(0,0,0))其中第一个颜色为被选中的颜色,第二个颜色未被选中的颜色。

然后用GetRow()代替GetSelectedRow()函数来得到被选中的行。

多行选择多行选择比较复杂,如果单纯依靠改变数据窗口的属性没法实现,我们必须使用数据窗口属性和代码结合起来才能实现首先,改变数据窗口的SQL语句,增加一个计算字段:0 as flag,Select 语句改为:Select col1,col2 ,1 as flag from tablename where .....,当返回数据窗口painter时,您就会发现多了一个字段flag,我们就是利用这个字段保存行被选中的信息。

其次,修改各个字段的背景颜色属性,设置为:if(flag=1,RGB(255,126,0),RGB(255,255,255))第三:在数据窗口控件中,增加对clicked 事件的处理,代码如下:if row<1 then return // setredraw(false)if this.o b j e c t.flag[row]=1 then //如果该行被选中,撤销选择,否则选中该行this.Object.flag[row]=0elsethis.Object.flag[row]=1end ifsetredraw(true)您还可以定制本选中行的字体,文本属性等等。

原理相同,不再赘述。

5 将日期型字段初始化为当天的日期使用Column Specifications 对话框来设置数据的初始值是一个比较好又比较通用的方法。

为了将日期型字段初始化为当天的日期,只要设置初始化值为today,而不是today()即可。

同样设置初始值为NUll,可以使用null,而不是null()。

6 在DataWindow中调整列顺序在Gird 风格的DataWindow 中,列的排列顺序是按照你选择Column 的顺序排列的,并且不能改变.要改变列的顺序则必须重新制作DataWindow.最近我发现一个办法可以改变列的顺序: 在DataWindow 画板中打开要修改的DataWindow,然后按'Preview' 按钮切换到预览模式下,选择要移动的列标题并拖动到预定位置,然后返回DataWindow 画板,存盘即可.7 Retrieve时不清除原有Datawindow数据当你调用Retrieve函数,PowerBuilder自动清除原有DataWindow然后Retrieve数据。

在Datawindow RetrieveStart事件中,使用Return 2,这样PowerBuilder不会清除原有数据而是追加新数据。

8 美化DataWindow的显示效果使DataWindow 的单双行显示颜色不同,不仅仅可以使你的应用程序更显专业性,并使数据的可读性增强。

先调出你需要改动的DataWindow,在Detail band按下右键选择Properties,选择Tab页中的Expressions,在color属性中输入下面内容:(注意是在Detail明细显示段按右键,而不是在Column上) IF(MOD(GETROW(),2)=0,RGB(192, 192, 192), RGB(255, 255, 255)) 马上Preview一下,看一看效果如何。

9 用Line建立漂亮的Grid DataWindow的技巧虽然PowerBuilder有Grid风格的DataWindow,但不够灵活,如果想打印一张边框粗线条或双线,内框为细线条的表格直接使用Grid风格的DataWindow就不能实现。

因此许多人都用Tabular风格的DataWindow,然后自己用Line来实现Grid。

在调整线条位置是一个即伤脑筋又伤眼睛的事件,而一旦需要调整行高,所有工作都得重来,试一试用下面方法,会大大减轻你的工作量:在vertical lines,改变它的属性,在Expressions Tab上,y1行上输入0,y2行上输入rowheight() - 1 在horizontal lines, 设置y1 和y2 = rowheight() - 5 这样PowerBuilder会自动调整线的坐标,你只需要设置横线的长度和x1,x2的坐标即可。

马上Preview一下,看一看效果!你再也不需要因为行的高度发生改变而重新调整线条位置。

10 如何创建一个报表,如下形式Quantity Running Total5,000 5,0002,500 7,5003,000 10,50012,000 22,500对于Running Total列,我们可使用计算列:CumulativeSum(Quantity for all),即可达到逐渐递增求和的功能。

11 数据窗口的数据送缓冲区之前确认的四个步骤判断数据类型是否正确。

如不正确则触发ItemError事件。

判断数据是否符合有效性规则。

如不符合有效性规则,同样触发ItemError 事件。

判断是否有数据被改动。

判断数据是否通过ItemChanged事件,如果数据和ItemChanged相斥,将触发ItemError事件。

12 如何在DataWindow中用数据类型为Datetime的列为条件进行查找1.当要查找的日期条件是一常数时使用如下表达式:ls_Find = "datetime_col= DateTime ('1/1/1999')"2.当要查找的日期条件是一个变量时使用如下的表达式:ls_Find = "datetime_col = DateTime ('" + ls_Date + "')"3.当要查找的日期条件是一个DateTime数据类型时使用如下表达式:ls_Find = "datetime_col = DateTime ('" + String (ldt_DateTime) + "')"13 设置数据窗口Boolean型属性的三种方法PowerBuilder提供了三种方法设置数据窗口的布尔型属性,分别是True/False, 1/0, 'Yes'/'No'。

例如:dw_1.Object.address.Visible = 0 dw_1.Object.address.Visible = False dw_1.Object.address.Visible = 'No'PowerBuilder在处理上以字符串的形式保存属性,而不考虑属性值是布尔型、长整型或是字符型。

为了进一步理解,可以导出一个数据窗口并查看它的原码,可以发现即使是列的颜色属性它也是使用带双引号的数字来表达。

14 如何在DataWindow中快速删除多行在开发过程中可能经常有要进行多行删除的操作,一般都使用循环语句进行操作:FOR ll_RowOn = 1 TO dw_1.RowCount() dw_1.DeleteRow(ll_RowOn) NEXT一个快速的删除方法是把要删除的行从主缓冲区中移到删除缓冲区中。

例如,删除缓冲区中所有的行:dw_1.RowsMove(dw_1, 1, dw_1.RowCount, Primary!, dw_1, 1, Delete!)不过不要忘了过滤的行在不同的缓冲区中。

相关文档
最新文档