| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2844 人关注过本帖
标题:新form记录的问题
只看楼主 加入收藏
su0527
Rank: 2
等 级:论坛游民
帖 子:452
专家分:79
注 册:2015-1-10
收藏
得分:3 
vfp 表单之间互动,的确不太容易.
2015-12-20 19:08
wcx_cc
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:52
帖 子:366
专家分:1157
注 册:2015-10-2
收藏
得分:0 
说说意思,是不是与楼主的意思相符。(不是这种意思就算啦)
如果一个父表单上有 grid,也有一个按钮,在此按钮的click中,打开了另一个表单,即子表单。子表单上也有一个grid.如果2个grid 都用了相同的表做数据源。
   问题:1、  当父表单的 grid 中 让其中的记录指针移动时,想让子表单 grid 的指针自动移动?这个不难实现,就是:在移动动作中 lostfocus 等..,再启动按钮的click 一次,起到刷新子表单的作用。
   问题2、反过来,当子表单的 grid 中指针移动,让父表单的 grid 指针自动移动。这个难一点的。

2015-12-20 20:32
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10607
专家分:43182
注 册:2014-5-20
收藏
得分:0 
以下是引用wcx_cc在2015-12-20 20:32:02的发言:

说说意思,是不是与楼主的意思相符。(不是这种意思就算啦)
如果一个父表单上有 grid,也有一个按钮,在此按钮的click中,打开了另一个表单,即子表单。子表单上也有一个grid.如果2个grid 都用了相同的表做数据源。
   问题:1、  当父表单的 grid 中 让其中的记录指针移动时,想让子表单 grid 的指针自动移动?这个不难实现,就是:在移动动作中 lostfocus 等..,再启动按钮的click 一次,起到刷新子表单的作用。
   问题2、反过来,当子表单的 grid 中指针移动,让父表单的 grid 指针自动移动。这个难一点的。

这个不难,父子是可以沟通的,比如将thisform或hWnd告知对方。
2015-12-20 22:28
laikokseng95
Rank: 1
等 级:新手上路
帖 子:43
专家分:0
注 册:2015-12-8
收藏
得分:0 
Maintainence.zip (18.86 KB)


已经附上了,麻烦各位大哥帮帮忙
2015-12-20 22:53
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10607
专家分:43182
注 册:2014-5-20
收藏
得分:0 
以下是引用laikokseng95在2015-12-20 22:53:42的发言:



已经附上了,麻烦各位大哥帮帮忙

不能正常运行?
图片附件: 游客没有浏览图片的权限,请 登录注册
2015-12-20 23:28
laikokseng95
Rank: 1
等 级:新手上路
帖 子:43
专家分:0
注 册:2015-12-8
收藏
得分:0 
回复 15楼 吹水佬
我的问题是当第一form的记录去到第二行时,remark form 的记录还是在第一行 。

cust form 里有有一个按钮是去到 remark form 的 。但是两个form 的记录不一样

[此贴子已经被作者于2015-12-21 00:14编辑过]

2015-12-21 00:11
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10607
专家分:43182
注 册:2014-5-20
收藏
得分:0 
以下是引用laikokseng95在2015-12-21 00:11:10的发言:

我的问题是当第一form的记录去到第二行时,remark form 的记录还是在第一行 。

cust form 里有有一个按钮是去到 remark form 的 。但是两个form 的记录不一样

给出的代码运行不了怎测试出问题所在?
前面已经说过解决方法,form1执行form2的<object>.Release方法就可以,同样反过来也可以。
2015-12-21 08:39
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10607
专家分:43182
注 册:2014-5-20
收藏
得分:0 
参考试例,是这个意思吗?
程序代码:
** Test.prg
CREATE CURSOR tt (ff I)
FOR i = 1 TO 100
    INSERT INTO tt VALUES (i)
ENDFOR
GO TOP 
of = CREATEOBJECT("form1")
of.show(1)

DEFINE CLASS form1 as Form 
    ADD OBJECT cmd as CommandButton WITH top=10,left=10,caption="Show Form2"
    ADD OBJECT txt as TextBox WITH top=10,left=120,ControlSource="tt.ff"
    ADD OBJECT grd as Grid WITH top=40,AllowCellSelection=.F.

    PROCEDURE cmd.Click
        LOCAL of
        of = CREATEOBJECT("form2", thisform)
        of.show(1)
    ENDPROC
ENDDEFINE

DEFINE CLASS form2 as Form 
    AutoCenter = .T.
    Caption = "点击表格变动记录"
    form1 = null
    
    ADD OBJECT grd as Grid WITH AllowCellSelection=.F.
    
    PROCEDURE Init(form1)
        this.form1 = form1
    ENDPROC
    
    PROCEDURE grd.Click
        thisform.form1.txt.Refresh
        thisform.form1.grd.Refresh
    ENDPROC
ENDDEFINE
2015-12-21 08:52
mywisdom88
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:191
帖 子:3147
专家分:8408
注 册:2015-3-25
收藏
得分:3 
楼主是用remark form来编辑table1.remark字段,应该很容易实现这个功能的啊、
2015-12-21 08:57
liuxingang28
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:山东济南
等 级:贵宾
威 望:47
帖 子:658
专家分:2180
注 册:2014-2-7
收藏
得分:3 
楼主的两个表单使用的都是 Default Data Session(默认数据工作期),因此应该做如下修改:
1. 修改第二个表单 Remark 的数据环境,将 AutoOpenTalbe 与 AutoCloseTables 均设为 .f.。否则,在 DO FORM Remark 时,会自动移动记录指针到首记录。
2. 修改主表单 Cust 中的 Remark 按钮的代码,修正后的代码如下:
    PUBLIC goFrmRemark
    DO FORM Remark NAME goFrmRemark
3. 修改主表单四个指针移动按钮的代码,在代码的最后添加下列代码:
    IF TYPE('goFrmRemark')='O' AND !ISNULL(goFrmRemark) AND LOWER(goFrmRemark.BaseClass)='form'
    goFrmRemark.Refresh
    ENDIF
如果使用表单集,就简单多了。只需在四个记录移动按钮中添加:THISFORMSET.frmRemark.Refresh即可。

[此贴子已经被作者于2015-12-21 11:27编辑过]


泉城飞狐
2015-12-21 11:26
快速回复:新form记录的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.045742 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved