- 1、本文档共22页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
VFP的表格透析.
VFP 的表格透析1
RMH 于 2001-12-17 12:41:05 发表:
作者 Vlad Grynchyshyn
译者 RMH
VFP 中的表格 第一部分
什么是表格和什么时候使用它?
表格控件是一组允许在一个表格一样的可卷动列表中显示数据的 VFP 对象. 表格由表格对象自己和一组列组成. 各列必须有一个 header 对象和在表格列中显示数据的控件. 表格列中的控件用于显示和编辑数据. 表格是一个带网格线条的矩形, 和顶部的标题, 卷动条和一些其它有用的东西, 如记录标记, 删除标记, 分隔条等.
说实话, 表格显示数据不象 Excel sheet 那样自由. 表格要求用 VFP 记录源 (别名) 来显示一些东西. 要在同一列的不同行中显示不同类型的数据是困难的. 表格中的所有行的高度都是相同的, 并且表格中一列中的所有行的宽度也是相同的. 当然还有一些其它相当奇怪的和不可思议的限制, 除非我们记住表格是一个真实的基于早期版本的 FoxPro 的浏览窗口来编写的控件. 这一事实回答了许多关于表格的奇怪的东西和行为的 ′为什么′. 尽管有许多的麻烦, 表格还是相当有用的控件并在受到 VFP 程序员的欢迎, 因此也有许多的处理和方案来打破表格的限制并用它来产生更好的效果. 局限或奇怪的东西将不再是决定是否使用表格的关键.
表格控件对于在一个简洁的表单中显示(浏览)数据是有用的 (每页显示大量数据). 表格对于有哪些信誉好的足球投注网站和定位数据比弹式菜单或整页的下拉列表好. 持久稳固的使用表格作为定位数据不是一个好的主意, 因为表格通常占用许多空间. 许多应用程序有一个表格作为一个主要的控制表单 - 复杂的带有许多功能的可显示子表单来进行数据编辑的表格.
表格对于所有类型的规则的只读数据是有用的. 使用表格进行数据编辑不是一个好主意. 在表格中进行数据编辑的好处仅仅是易于组织和管理应用程序. 在表格中进行数据编辑时如果要打破 VFP 表格的限制会有许多问题. 但是, 例如发票或订单表单的行项, 使用表格来进行编辑是更好的, 用户也会感到更舒服. 这样的表单是一个例外; 不要仅仅因为表格对于编辑数据时的简单就把它放在每一个表单中. 当你这样做时, 你会很快发现自己处于麻烦之中, 因为表格是如此复杂且易于失去控制的控件. 这将要求你付出更多的努力来指出问题, 找出解决方案和修正更多的问题. 通常, 数据编辑使用文本框显示字段和带有定位,保存/恢复和一些其它特定按钮工具栏来移动记录的的表单. 为表格生成一个这样的表单是花费大量时间的一种方法. 当然, 如果你有时间并喜欢玩耍怪异的东西, 表格是一种消磨时光并找出方案和处理办法的最好的控件.
表格自动进行列的重绑定
表格中最常出现的奇怪的东西是列的 control sources 的自动改变. 你会发现突然表格列显示了其它的不是你在列的 ControlSource 属性中指定的数据. 另外, 列中显示的数据的顺序不是你重新安排过的顺序. 为什么会这样?
======================================================
因为表格的 RecordSource 属性在设计时被改变. 在表格的 RecordSource 属性被改变后所有的 ControlSource 值被清除了. 在此情况下制作一个这些值的备份, 通常是在列的 Comment 属性中.
因为表格的 RecordSource 属性在运行时被改变. 好了, 如果你要这样做, 保存所有的 control sources, 然后恢复它们.
可能的原因是表格被重建了. 关于这一点将在下一章中说明.
======================================================
该行为的副作用并不严重. 通常显示的数据没有改变, 除非表格有一些复杂的功能和结构体系. 例如, 列值显示的是表达式 - 表达式将丢失并只显示字段. 对于用户来说在表格列中显示 ID 字段 (主关键字段)也不是一件好事. 最危险的是当你在表格中有一些不同的控件时. 当列中有一个复选框控件时, 但表格决定使用字符型字段作为该列的 control source 时, VFP 将显示一个关于数据类型失配的错误: ′控件不支持该数据类型′.
无论是上述何种情况, 当以任何方式改变 record source 时, 都有消除表格重建的方案.
以下示例代码用列的 Comment 属性保存 control sources 并恢复它们.
备份各列的 ControlSource
with {grid}
local nColumnIndex
for m.nColumnIndex = 1 to .ColumnCount
.C
您可能关注的文档
最近下载
- (苏教版)数学五年级上册寒假“天天练”作业设计,含30份题组,附参考答案.pdf
- 《(电影、美剧超级大包)(英语中字)(BD-MKV HD-MKV 1200G)115 先收着。。。转自deefun》.doc
- 2023年黑龙江省烟草专卖局(公司)真题.docx VIP
- 招标采购代理规范zbtb-t a01-2016.pdf
- 小儿肺脏超声基础课件.ppt
- 华南理工大学《管理统计学》课件-第2章统计数据的描述.pptx
- 2023年黑龙江省烟草专卖局系统考试真题.docx VIP
- 《好妈妈胜过好老师》.doc
- 家长会参考讲义——围棋与孩子的素质教育幻灯片课件.ppt
- 华南理工大学《管理统计学》课件-第6章方差分析与试验设计.pptx
文档评论(0)