PowerBuilder中实现数据窗口列不可编辑的一种方法(2)
2013-12-09 01:08
导读:图1 通讯录窗体w_txl界面 具体实现代码如下: .窗体w_txl的open事件 dw_1.settransobject(sqlca) dw_1.retrieve() .窗口中“确定修改”按钮的clicked事件 if dw_1.update(dw_1,
图1 通讯录窗体w_txl界面
具体实现代码如下:
.窗体w_txl的open事件
dw_1.settransobject(sqlca)
dw_1.retrieve()
.窗口中“确定修改”按钮的clicked事件
if dw_1.update(dw_1,true,false)=1 then
dw_1.resetupdate()
commit using SQLCA;
else
rollback using SQLCA;
messagebox(“错误!!!”,“数据保存失败,请检查输入数据是否有错!”)
end if
.窗口中“新增”按钮的clicked事件
long rownumber
rownumber=dw_1.insertrow(0)
dw_1.setfocus()
dw_1.scrolltorow(rownumber)
dw_1.setcolumn(1)
.窗口中“退出”按钮的clicked事件
close(w_txl)
.窗体中数据窗口的clicked事件
string columntext //列标题
string columnname //列名
integer length //列标题长度
columntext=dwo.name //获得列标
length=len(columntext) //得到列标题的长度
columnname=left(columntext,length - 2) //取得列名
if not isnull(columnname) then //判断列名是否为空
dw_1.modify(columnname “.protect=‘1~tIf(isrownew(),0,1)’”)
//根据该行是否新增决定相应列的编辑特点,对新增行保护属性为0,否则为1
end if
.窗体中数据窗口的doubleclicked事件
string columntext
string columnname
integer length
columntext=dwo.name
length=len(columntext)
columnname=left(columntext,length - 2)
if not isnull(columnname) then
dw_1.modify(columnname “.protect=0”) //恢复列的可编辑性
end if
4 结束语
本文就PowerBuilder中用数据窗口的Protect属性实现列不可编辑与解除列不可编辑的一种灵活方法进行了详细的分析,实际应用表明,这种方法既具有灵活性,又具有通用性,是一种较好的方法。共2页: 1 [2] 下一页 论文出处(作者):
在ASP.NET中开发树状结构
服务器软件漏洞测试程序的设计与实现