VFP mygrid 控件使用

mzcih 2012-10-12 02:01:29
**生成临表
SELECT 编号,数量 INTO CURSOR tmp1

**将临表数据写入mygrid
thisform.mygrid1.RecordSource ='tmp1'
thisform.mygrid1.AutoFit

**问题1. 想改(数量列)改成可编辑状态,但无效,不知道何解。
thisform.mygrid1.column2.text1.Enabled= .T.

例如 mygrid1 得到的数据如下

编号  数量(可编辑)
1 100
2 200

**问题2. 想实现用text1控件记录总数,如初始是100+200=300
当编辑 mygrid1 数量的值时 text1控件的值跟住变,不知道该如何实现
...全文
225 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
ilovevf 2012-10-15
  • 打赏
  • 举报
回复
有用收了
Icebluetear 2012-10-15
  • 打赏
  • 举报
回复

Select Sum(数量) As 总数量 From 表名 Into Cursor T1 --这样也一样吗?
Thisform.Text1.Value=T1.总数量

Icebluetear 2012-10-15
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 的回复:]
计算代码:
Select Sum(数量) As 总数量 Into Cursor T1 From 表名
Thisform.Text1.Value=T1.总数量
[/Quote]



Select Sum(数量) As 总数量 From 表名 Into Cursor T1 --这样也一样吗?
Thisform.Text1.Value=T1.总数量


mzcih 2012-10-12
  • 打赏
  • 举报
回复
感谢帮忙,我研究下。
十豆三 2012-10-12
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 的回复:]
在表格每列的 text1 的 keypress 添加。

但表格的列本身是不存在的,要临表赋值时才有,不知道该如何添加事件。
[/Quote]参考下面帖子的方法2,Grid 赋数据后,执行相应的绑定代码。
http://topic.csdn.net/u/20121012/11/8ff5b36a-9425-4dc1-8e9d-2cc9297e2f79.html
mzcih 2012-10-12
  • 打赏
  • 举报
回复
在表格每列的 text1 的 keypress 添加。

但表格的列本身是不存在的,要临表赋值时才有,不知道该如何添加事件。
mzcih 2012-10-12
  • 打赏
  • 举报
回复
感谢指点迷津。
十豆三 2012-10-12
  • 打赏
  • 举报
回复
计算代码:
Select Sum(数量) As 总数量 Into Cursor T1 From 表名
Thisform.Text1.Value=T1.总数量
十豆三 2012-10-12
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 的回复:]
**问题2. 想实现用text1控件记录总数,如初始是100+200=300

编号  数量(可编辑)
1 100
2 200

1.当编辑 mygrid1 数量的值时 text1控件的值跟住变,不知道该如何实现
2.当游标停在 编号 1 数量 100时回车就跳到 编号2 数量200那里,并且更新 text1的值
[/Quote]1、你的300是如何算出来,就再执行这段代码即可。
2、在 Grid 的 AfterRowColChange 事件再写你的计算代码即可。
至于回车下移光标,请参考:
在表格里输入数据,有时要用到连续录入同一列的情况。默认情况下敲回车光标往右移一个字段,往下移一个记录得用向下箭头键。考虑用向下箭头键代替回车键。
于是,在表格每列的 text1 的 keypress 事件里
If m.nKeyCode=13 &&如果敲了回车
Nodefault &&不响应(回车键)
Keyboard '{dnarrow}' &&按下 downarrow 键
Endif &&条件结束

If (m.nKeyCode=13)
Keyboard '{DNARROW}'+'{BACKTAB}' Plain
Endif
mzcih 2012-10-12
  • 打赏
  • 举报
回复
**问题2. 想实现用text1控件记录总数,如初始是100+200=300

编号  数量(可编辑)
1 100
2 200

1.当编辑 mygrid1 数量的值时 text1控件的值跟住变,不知道该如何实现
2.当游标停在 编号 1 数量 100时回车就跳到 编号2 数量200那里,并且更新 text1的值
十豆三 2012-10-12
  • 打赏
  • 举报
回复
问题2:在 Grid 的 AfterRowColChange 事件写计算代码。
mzcih 2012-10-12
  • 打赏
  • 举报
回复
感谢帮助,请继续赐教。
十豆三 2012-10-12
  • 打赏
  • 举报
回复
SELECT 编号,数量 INTO CURSOR tmp1 Readwrite
如果没有 Readwrite 选项,生成的临时表将是只读的。