PowerBuilder中实现数据窗口列不可编辑的一种方法_第1页
PowerBuilder中实现数据窗口列不可编辑的一种方法_第2页
PowerBuilder中实现数据窗口列不可编辑的一种方法_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、PowerBuilder中真现数据窗心列没有成编辑的一种要收摘要:本文详细道道了如何操做Dataind的Prtet属性灵敏真现列没有成编辑的要收。关键词:PerBuilder;Dataind;数据编辑1引止经由过程数据窗心,用户可以对数据举止删、删、改等编辑工作。为了抗御用户因为操做得慎而删失落数据窗心中的一些慌张的数据,正在PerBuilder中,需要将没有成删除数据所在的列设为没有成编辑形态。经常使用要拥有:1正在数据窗心的圆案阶段将列的Tab值设置为0,或正在程序运转阶段用函数静态设置列的Tabsequene属性为0;2正在数据窗心的圆案阶段将列的Edit属性设置为Displaynly,

2、或正在程序运转阶段将Edit属性的Displaynly置为Yes。以上要收皆简朴且易于真现,但皆没有够灵敏。用Tabsequene属性置0的要收,假设要光复该列的可编辑形态,必须正在置0之前用Desribe()函数先猎与该列的Tab值,以后用dify()函数光复该值便可将该列光复成可编辑形态,删减了编写额中代码的负担,而且那种要收借破坏了数据窗心的造表值依次;把Displaynly属性置为Yes的要收,要供该列的StyleType必须选中Edit气魄气派,假设该列气魄气派为其中标准,如hekBx、EditListBx等,那么没有能用那种要收,果而那种要收也缺少通用性。本文采与数据窗心中列的Pr

3、tet属性去灵敏真现列的没有成编辑的要收,Prtet属性将忽略数据窗心的造表依次设置,只需列处于保护形态时,即使该列的造表依次年夜于0,用户也没有能对该枚举止编辑。那种保护数据窗心列中数据的要收,它出有破坏造表值的依次,很随意光复列的造表值;而且Prtet属性借容许指定一个前提表达式,使统一列中某些值被保护而其中的值出有被保护,那对正在数据窗心中插进新纪录时很有益。本文详细道道了如何操做Dataind的Prtet属性去灵敏真现列的没有成编辑。2Prtet属性的访谒格局2.1间接访谒其中value值为0或1,为1时该列处于保护形态,没有成编辑;为0时该列处于非保护形态,用户可以编辑该列。2.2d

4、ify()函数访谒列属性的语法格局以下:d_ntrlnae.dify(stringdstring)其中参数dstring是定义属性的建正方法,即为“lunnae.prtet=integer或lunnuber.prtet=integer,integer代表列能可被保护的布我值,为0即假时,列出有被保护;为1即真时,列被保护。如用表达式指定prtet属性,该表达式有以下格局:defaultvaluetDataindpainterexpressin其中defaultvalue是能转换为与该属性逆应的数据标准的值,即0或1,为一个缺省值;Dataindpainterexpressin是能操做任何Dat

5、aind绘板函数的表达式,该表达式供值后的数据标准必须与设置的属性的数据标准相婚配,当设置某列的属性时,该表达式做用于Dataind中该列的每止,那便使得可以根据数据的没有同而改动保护的方法。3使用真例上里以一个通信录中增减纪录为例详细分析。起尾正在数据库中创立如表1所示的通信录表Txlb,同时正在表中输进四条纪录。编号姓名工作单位类别0001建国湖北年夜教同学0002知名广西师年夜同学0003阿怯广西师年夜同学0004小崔少沙年夜教同事表1通信录操做Txlb表创立数据窗心d_txl,数据源挑选QuikSelet,暗示气魄气派挑选Grid。创立窗体_txl,并正在窗体中摆设数据窗心控件d_1,

6、数据窗心控件d_1毗邻的数据窗心即为d_txl,如图1所示。正在该窗体中,用户如要抗御删除编号列中已有的编号而正在新删纪录时又容许正在该列输进新编号,单击数据窗心中的编号列题目便可。然后单击“新删按钮,此时编号列中已有的编号没有成编辑,但对新删的一条纪录该列容许编辑,可以输进新编号为0005的一条新纪录。纪录输进终了,单击“肯定建正按钮,输进数据将存进数据库,编号列中新删的纪录自动转为没有成编辑,从而真现对新老数据尝试没有同的保护,那是用要收1、2)皆没法真现的;用户如创造存进数据库的编号有缺点,只需用鼠标单击编号列题目,便可解除列的保护形态,从头编辑该列,从而灵敏真现列的编辑要供。对数据窗心

7、控件中的其中列也可以采与一样的要收去真现新老数据的没有同保护,果而那种要收借具有通用性。图1通信录窗体_txl界里详细真今世码以下:.窗体_txl的pen事变d_1.settransbjet(sqla)d_1.retrieve().窗心中“肯定建正按钮的liked事变ifd_1.update(d_1,true,false)=1thend_1.resetupdate()itusingSQLA;elserllbakusingSQLA;essagebx(“缺点!,“数据保存得利,请检查输进数据能可有错)endif.窗心中“新删按钮的liked事变lngrnuberrnuber=d_1.insertr

8、(0)d_1.setfus()d_1.srlltr(rnuber)d_1.setlun(1).窗心中“退出按钮的liked事变lse(_txl).窗体中数据窗心的liked事变stringluntext/列题目stringlunnae/列名integerlength/列题目少度luntext=d.nae/获得列标length=len(luntext)/获得列题目的少度lunnae=left(luntext,length-2)/获得列名ifntisnull(lunnae)then/断定列名能可为空d_1.dify(lunnae+“.prtet=1tIf(isrne(),0,1)/根据该止能可新删决议响应列的编辑特性,对新删止保护属性为0,可那么为1endif.窗体中数据窗心的dubleliked事变stringluntextstringlunnaeintegerlengthluntext=d.naelength=len(luntext)lunnae=left(luntext,length-2)ifntisnull(lunnae)thend_1.dify(lunnae+“.prtet=0)/光复列的可编辑性endif4完毕语本文便PerBuilder顶用数据窗心的Prtet属性真现列没有成编辑与解除列没有成编

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论