VFP缓冲表与表单操作的相互配合,新手小白必看
2023-04-18 14:58:10 时间
想要入门VFP信息管理系统的开发,只需要搞定单表增删查改(多行或单行),多表增删查改,主从表增删查改三种基本模式就可以了。
猫猫今天来讲讲单表增删查改(多行)的模式。
界面设计
如图所示
操作界面设计 我们来细分一下操作:
- 添加空行
- 编辑空行
- 删除空行
- 撤消录入
- 保存录入
数据的操作模式
添加空行->撤消 不留痕迹 删除行->撤消 还原删除行 修改行->撤消 还原编辑行
添加空行->保存 删除行->保存 修改行->保存 实际上用户操作是有一个中间状态的,可以保存或者撤消,称为缓冲
为了达到可以保存和撤消的效果,我们使用VFP的缓冲。
正式开发
表单的设置
首先将表单的opcode设为2-编辑模式 表格控件设为教师表 添加四个控件 添加,删明细,保存,撤消
表单Load事件
*--一般在LOAD事件中准备好表单所需要的数据
SET MULTILOCKS ON
SET DELETED ON
USE 教师 IN 0
*--设置为开放式表缓冲
CursorSetProp("Buffering", 5)
添加按钮click事件
SELECT 教师
APPEND BLANK
thisform.Refresh()
删明细按钮click事件
SELECT 教师
DELETE
thisform.Refresh()
撤消按钮click事件
Select 教师
Tablerevert(.T.)
thisform.Refresh()
保存按钮click事件
Select 教师
Tableupdate(1,.T.)
Thisform.Refresh()
运行效果
运行效果
按钮和表格控件的状态切换
刚刚的效果是让用户直接上手就可以操作,如果一开始就不让用户编辑,需要用户按一个按钮方可以编辑,防止误操作呢?
设置表单属性opcode=0
增加编辑按钮写入click方法
thisform.Opcode=2
保存和撤消按钮最后加一句
thisform.Opcode=0
这样就可以实现各类控件跟随表单状态变化而变化。
如果不使用自响应模式的,要完成一样的功能,你会写如下类似的代码
thisform.编辑.enabled=.t.
thisform.保存.enabled=.f.
每增加一个操作控件,都容易漏写,写错。
在祺佑三层开发框架(猫框)的自响应控件可以就表单表三种状态发生响应 0 浏览 1 新增 2 修改 可以应对增删查改操作
自响应控件的好处
拖进表单,无须人工手控thisform.text1.enabled=.t.或者假 减少人工失误。有些老狐不屑一顾,认为无非是把控制代码移个位置而已。
但框架真正在用的时候,一个字爽。
相关文章
- 学会 Math 对象这 10 个方法,能让你事半功倍!
- 一篇文章带你了解JavaScript math(上篇)
- 如何降低开发人员的生产力?
- 面向对象程序设计大行其道几十年后,已经在面临淘汰?
- 36岁的博士程序员找不到工作?大厂的「年龄歧视」从来都不是秘密
- 程序员必知的几种软件架构模式
- RIAA 请求 GitHub 删除 YouTube-DL 代码引争议
- IT工程师都需要掌握的容器技术之Docker容器网络
- 一个多线程的简单例子让你看清线程调度的随机性
- 面向对象编程是否已淘汰?函数式编程的枪口瞄错了对象
- 编译器和编程语言的鸡和蛋的问题
- 消息队列线程池模型如何保证重启时消息不丢
- 算法图解:如何用两个栈实现一个队列?
- 你的脱发是否值得?知乎热议中国程序员市场已饱和
- CSS元素选择器是怎样运作的?
- 设计模式系列—适配器模式
- 给女朋友讲了讲 V8 引擎的“回调函数”!
- 听得见的代码?滴滴程序员这次玩得有点高级
- Gartner 十大战略性预测:传统技术一败涂地、DNA存储成为现实、CIO成为COO
- 我从高级开发者身上学到的19条编码原则