马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?站点注册
×
昆明宇同思创系统集成有限公司(650031) 陈伟锋(e_mail: ly_cwf@sohu.com ) PB中selectrow()函数用来对数据窗口的行进行加亮显示。但不能对数据进行选择,笔者在进行数据库开发时,遇到需要对用户在数据窗口中的选定行进行操作,实现步骤介绍如下: 1、首先在window的instance variables中定义数组 //标识此行是否被选择(1:选择。0:未选择) integer isselected[] 2、在window中的open事件中写进如下代码: int i long rowc//数据窗口总行数 DW_1.settransobject(sqlca) dw_1.retrieve() rowc=dw_1.rowcount() for i=1 to rowc isselected=0 next 以下3,4参考:https://www.sybasebbs.com/sybase/dispbbs.asp?boardid=33&id=2398&star=1&page=1 3、在datawindow中的clicked中编写如下代码: int i if row<>0 then//当用户单击数据窗口标题时会选择全部行,这时row参数被置为0. this.SelectRow(row,true)//选择此行 isselected[row]=1 end if 4、在datawindow中的doubleclicked中编写如下代码: int i if row<>0 then this.SelectRow(row, false)//取消选择 isselected[row]=0 end if 5、"全部选定"和"全部不选定"按纽: 5.1"全部选定"按纽代码: int i long rowc//数据窗口总行数 rowc=dw_1.rowcount() for i=1 to rowc dw_1.setrow(i) dw_1.selectrow(dw_1.getrow(),true) isselected=1 next 5.2"全部不选定"按纽代码: int i long rowc//数据窗口总行数 rowc=dw_1.rowcount() for i=1 to rowc dw_1.setrow(i) dw_1.selectrow(dw_1.getrow(),false) isselected=0 next 6."确定"按纽代码(对所选择的数据进行处理): int i long rowc//数据窗口总行数 boolean ifnotselect//是否全部不选定 ifnotselect=false rowc=dw_1.rowcount() for i=1 to rowc if isselected=1 then ifnotselect=true exit end if if i=rowc and isselected=0 then close(parent) end if next for i=1 to rowc if isselected=1 then dw_1.setrow(i) //在此处输入对已选定的行的处理代码 end if next close(parent) 本技巧中的选择数据部分可以编写成user object ,作为用鼠标选择数据窗口中的多行的一个父类。
[此贴子已经被作者于2007-6-30 14:02:49编辑过]
|