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

本文介绍了两种在Visual FoxPro的GRID控件中动态添加一列并放置按钮的方法。第一种方法通过自定义类实现,第二种则直接使用FORM表单中的command1方法。这两种方案均可实现在GRID中增加带有点击事件的按钮。

今天社群的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的时候,他看了我的代码,最后在社群中回复,说是缓冲表的问题,导致列没有生效,现问题已经解决,我目前没有复现出来。

更多资料www.sn58.cn

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

加菲猫的VFP

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值