前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >VFP缓冲表与表单操作的相互配合,新手小白必看

VFP缓冲表与表单操作的相互配合,新手小白必看

作者头像
加菲猫的VFP
发布2021-12-15 16:22:38
9290
发布2021-12-15 16:22:38
举报
文章被收录于专栏:加菲猫的VFP

想要入门VFP信息管理系统的开发,只需要搞定单表增删查改(多行或单行),多表增删查改,主从表增删查改三种基本模式就可以了。

猫猫今天来讲讲单表增删查改(多行)的模式。

界面设计

如图所示

操作界面设计 我们来细分一下操作:

  1. 添加空行
  2. 编辑空行
  3. 删除空行
  4. 撤消录入
  5. 保存录入

数据的操作模式

添加空行->撤消 不留痕迹 删除行->撤消 还原删除行 修改行->撤消 还原编辑行

添加空行->保存  删除行->保存  修改行->保存 实际上用户操作是有一个中间状态的,可以保存或者撤消,称为缓冲

为了达到可以保存和撤消的效果,我们使用VFP的缓冲。

正式开发

表单的设置

首先将表单的opcode设为2-编辑模式 表格控件设为教师表 添加四个控件 添加,删明细,保存,撤消

表单Load事件
代码语言:javascript
复制
*--一般在LOAD事件中准备好表单所需要的数据
SET MULTILOCKS ON 
SET DELETED ON 
USE 教师 IN 0
*--设置为开放式表缓冲
CursorSetProp("Buffering", 5)
添加按钮click事件
代码语言:javascript
复制
SELECT 教师
APPEND BLANK
thisform.Refresh()

删明细按钮click事件

代码语言:javascript
复制
SELECT 教师
DELETE 
thisform.Refresh()

撤消按钮click事件

代码语言:javascript
复制
Select 教师
Tablerevert(.T.)
thisform.Refresh()

保存按钮click事件

代码语言:javascript
复制
Select 教师
Tableupdate(1,.T.)
Thisform.Refresh()

运行效果

运行效果

按钮和表格控件的状态切换

刚刚的效果是让用户直接上手就可以操作,如果一开始就不让用户编辑,需要用户按一个按钮方可以编辑,防止误操作呢?

设置表单属性opcode=0

增加编辑按钮写入click方法

代码语言:javascript
复制
thisform.Opcode=2

保存和撤消按钮最后加一句

代码语言:javascript
复制
thisform.Opcode=0

这样就可以实现各类控件跟随表单状态变化而变化。

如果不使用自响应模式的,要完成一样的功能,你会写如下类似的代码

代码语言:javascript
复制
thisform.编辑.enabled=.t.
thisform.保存.enabled=.f.

每增加一个操作控件,都容易漏写,写错。

在祺佑三层开发框架(猫框)的自响应控件可以就表单表三种状态发生响应 0 浏览 1 新增 2 修改 可以应对增删查改操作

自响应控件的好处

拖进表单,无须人工手控thisform.text1.enabled=.t.或者假 减少人工失误。有些老狐不屑一顾,认为无非是把控制代码移个位置而已。

但框架真正在用的时候,一个字爽。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-12-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 加菲猫的VFP 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 界面设计
  • 数据的操作模式
  • 正式开发
    • 表单Load事件
      • 添加按钮click事件
      • 按钮和表格控件的状态切换
      • 自响应控件的好处
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档