- 1、本文档共6页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Visual FoxPro 9 CS方面极富人性化的增强
Visual FoxPro 9 C/S方面极富人性化的增强
作者: mihu
今年6月,微软公司如期发布了全球Foxer翘首期盼代号为Europa的Visual FoxPro 9beta 版(以下简称VFP9),下文是我学习、探索 VFP9 C/S方面新增功能时的一些心得,供大家一起分享。
自从VFP 8 开始,在C/S方面提供了一个CursorAdapter 类, CursorAdapter 是一个基于松散耦合思想设计的对象化的 Cursor 处理模型。对 CursorAdapter 类很多人对其褒贬不一,特别是一些老的Foxer认为做C/S系统用SPT就足够了,何必再增加一个类呢?但我可以这么说,从VFP9 开始,几个CursorAdapter新增加的功能,相信足以使那些纯使用SPT 的Foxer 心动不已了。
下面我先谈谈VFP9 在 CursorAdapter 部分的几个增加和增强。
1.?????? 属性值可以超过255 个字符
用过CursorAdapter 类的人都知道,VFP8 时其几个属性 SelectCmd、CursorSchema、UpdateNameList、UpdatableFieldList的长度不能超过255个字符,这在VFP8时让人感觉是一件非常滑稽的事情,当后台表的字段数一多,连使用它自身生成器生成的字符串都要报错,不能保存,这点造成CursorAdapter使用起来极为不便,也是全球Foxer要求解决的呼声最多的地方,现在这个问题在VFP9 中终于得到了彻底解决。
2.?????? 生成器生成的CursorSchema 不再是按照字母次序来排列了
当我们设计表单上控件时,只要在表单数据环境里放入CursorAdapter,设置 CursorAdapter 的CursorSchema 属性就会可视化的出现一个Cursor, 此时只要拖动相应字段到表单,即可完成一个个控件的设计,这也是CursorAdapter的优点之一,VFP8 时利用生成器生成的CursorSchema 是按照字母次序排列的,这点造成设计时非常的不方便,大家习惯的是自己设计表时的字段次序,现在VFP9 在这方面也做了非常人性化的修改,现在我们可以完全非常舒服的利用其本身的生成器来生成 CursorSchema 供我们设计表单使用。
3.???????? NoData 和 UseCursorSchema 属性
VFP8 时当把CursorAdapter 设计时放到表单的数据环境里,使用CursorFill()里的这两个参数极为不便,现在好了,把这两个属性单独列了出来。
4.???????? TimeStamp 时间戳字段
VFP8 的CursorAdapter 虽然 WhereType 可以等于 4 ,可是其实时间戳字段真正在更新时却过滤掉了,根本不起任何作用。现在VFP9 的CursorAdapter 增加了 TimestampFieldList属性,如果你的后台表里有时间戳的话,只要设置一下这个属性,然后设置WhereType = 4即可。
5.???????? RecordRefresh()
VFP8时CursorAdapter只能用 CursorRefresh() 来刷新前台,可很多时候,我们可能只需要刷新其中一条或者几条记录的数据,可CursorRefresh(),如果前台记录有 1000 条,也要全部重新读一遍,读取完毕以后,记录指针却始终定位在第一条记录,这样既巨大的浪费了网络资源,同时很多情况下还要花费很大的精力重新定位记录指针。
现在 VFP9 增加了这个极富人性化的方法-----RecordRefresh(),能做到任意刷新此Cursor里的任意一条或者连续几条记录,而且当前记录指针保持不变,看到这里相信做过C/S程序的朋友们是不是有一种跃跃欲试的感觉?这个可以期盼已久的功能啊。
RecordRefresh()里有2个参数,RecordRefresh(nRecords,nRecordOffset)1) nRecords 表示要刷新几条记录2) nRecordOffset记录偏移量,指是当前记录开始加几条记录
例子1,比如当前记录号是第5条,我要刷新第7、8两条记录,
oCa.RecordRefresh(2,-2)
???????? 例子2, 只刷新当前记录,
oCa.RecordRefresh(1)
6.???????? CursorAdapter 的 Auto-Refresh
VFP9提供了记录的Auto-Refresh,其作用、功能、效果和前面介绍的RecordRefresh() 基本相似,有异曲同功之妙用。
让我们来看看具体是怎么使用的吧:
InsertCmdRefreshFieldList
您可能关注的文档
最近下载
- 兵工科技2014-14.pdf
- DL T 5745-2016 电力建设工程工程量清单计价规范.docx VIP
- 运单填写规范.ppt
- 岗位风险告知卡(挖掘机、装载机司机岗位).docx VIP
- 西师大版四年级上册数学第七单元 三位数除以两位数的除法 测试卷(突破训练)word版.docx
- 党团基本知识学习与社会实践思想报告【4篇】.docx VIP
- 文华财经指标公式源码WH6指标公式期货软件指标画线指标公式.doc
- 征地应急预案共5篇.docx VIP
- 精品解析:2024年天津市部分区中考二模语文试题(解析版).docx VIP
- 2022儿科副护士长竞聘职位PPT简医院儿科副护士长岗位竞聘自我介绍PPT课件(带内容).pptx
文档评论(0)