VFP的GIRD要动态增加一列和按钮,要怎么办?

加菲猫的VFP 2022-01-17 10:57:43

今天社群的zhouboy问道,我要怎么动态在GRID里面动态增加一列,里面放一个按钮,试了许多方法没有成功。

我远程试了试,果真没有触发成功,于是我尝试用两个方法来完成这个功能。
新建一个表单,如图所示:

里面就一个GRID,一个按钮,数据环境中加载教师表。

方法一: 自定义类

将如下代码保存为mycommand.prg

DEFINE CLASS mybutton as CommandButton
  PROCEDURE click 
     MESSAGEBOX("ff2")
  ENDPROC 
ENDDEFINE 

然后在增加按钮中click方法写如下代码

Thisform.grd教师.AddColumn(7)
Thisform.grd教师.column7.NewObject("mybutton","mybutton","mycommand.prg")
Thisform.grd教师.column7.CurrentControl="mybutton"
Thisform.grd教师.column7.mybutton.Caption="点我有惊吓"
Thisform.grd教师.column7.mybutton.visible=.t.
Thisform.grd教师.column7.Sparse=.F.

运行效果如下:

方法二:

FORM表单增加command1方法

刷新按钮click方法

Thisform.grd教师.AddColumn(7)
Thisform.grd教师.column7.addobject("mybutton","commandbutton")
Thisform.grd教师.column7.CurrentControl="mybutton"
Thisform.grd教师.column7.mybutton.Caption="点我有惊吓"
Thisform.grd教师.column7.mybutton.visible=.t.
Thisform.grd教师.column7.Sparse=.F.
BindEvent(thisform.grd教师.column7.mybutton,"click",thisform,"comm1",0)

运行效果一样

后续

当我把表单发送zhouboy的时候,他看了我的代码,最后在社群中回复,说是缓冲表的问题,导致列没有生效,现问题已经解决,我目前没有复现出来。

更多资料http://www.sn58.cn/

...全文
173 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
CSDN-Ada助手 2023-01-13
  • 打赏
  • 举报
回复
您可以前往 CSDN问答-其他 发布问题, 以便更快地解决您的疑问

2,749

社区成员

发帖
与我相关
我的任务
社区描述
VFP,是Microsoft公司推出的数据库开发软件,用它来开发数据库,既简单又方便。
社区管理员
  • VFP社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧