| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1225 人关注过本帖
标题:grid问题,求助!
只看楼主 加入收藏
calin
Rank: 2
等 级:论坛游民
帖 子:108
专家分:50
注 册:2010-4-11
结帖率:90.32%
收藏
已结贴  问题点数:20 回复次数:10 
grid问题,求助!
我的grid数据源表为:eedt.dbf
字段:名称、规格、数量、定价、总价……
我现在想在grid的数量列输入数量时,
总价通过"年价*数量"得到,并且直接在焦点变化时grid刷新总价,
于是我在grid的afterrowcolchange写入
REPLACE  总价 WITH 年价*数量
thisform.Refresh

此时出现一个情况,
当在所改变“数量”的同一记录行获得焦点变化时,能正确计算出总价,并且刷新。。
当获得焦点的单元格不在改变数量的记录行上时,则不能计算出总价,仍然显示为0。00
求解决方法!
搜索更多相关主题的帖子: grid 
2010-08-01 21:26
qingfameng
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:35
帖 子:964
专家分:3019
注 册:2010-2-6
收藏
得分:0 
在 grid 的数量列的column的text1的 lostfocus 加上条件限制:试试。比如
if len(alltrim(名称))>0
   REPLACE  总价 WITH 年价*数量
rndif
   


[ 本帖最后由 qingfameng 于 2010-8-1 21:59 编辑 ]
2010-08-01 21:53
qjbzjp
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:尧的故乡
等 级:贵宾
威 望:48
帖 子:1914
专家分:4397
注 册:2007-3-14
收藏
得分:0 
试试:
REPLACE all 总价 WITH 年价*数量
thisform.Refresh


相互学习,互相交流,共同提高。
2010-08-01 22:10
calin
Rank: 2
等 级:论坛游民
帖 子:108
专家分:50
注 册:2010-4-11
收藏
得分:0 
以下是引用qjbzjp在2010-8-1 22:10:36的发言:

试试:
REPLACE all 总价 WITH 年价*数量
thisform.Refresh
这样替换所有的话,虽能实现“总价”的刷新,
但是会让grid表直接跳到最后的记录行,
有没有办法既能实现“总价”刷新,
又能让焦点保留到所移动到的地方。而不是跳到最后!
2010-08-02 08:32
pmc1234
Rank: 5Rank: 5
等 级:职业侠客
帖 子:398
专家分:383
注 册:2010-1-6
收藏
得分:10 
你可以在总价列的 controlsource中填写 表达式啊
收到的鲜花
  • 茵梦湖2010-08-02 16:19 送鲜花  30朵   附言:我很赞同~
2010-08-02 09:28
qjbzjp
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:尧的故乡
等 级:贵宾
威 望:48
帖 子:1914
专家分:4397
注 册:2007-3-14
收藏
得分:5 
bh=RECNO()
REPLACE all 总价 WITH 年价*数量
GO bh
thisform.Refresh

相互学习,互相交流,共同提高。
2010-08-02 14:18
茵梦湖
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:31
帖 子:545
专家分:2180
注 册:2009-4-25
收藏
得分:0 

5楼方法比较简单, 方便~
 
2010-08-02 16:21
pmc1234
Rank: 5Rank: 5
等 级:职业侠客
帖 子:398
专家分:383
注 册:2010-1-6
收藏
得分:0 
谢谢版主
2010-08-02 18:31
qingfameng
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:35
帖 子:964
专家分:3019
注 册:2010-2-6
收藏
得分:0 
.   .

[ 本帖最后由 qingfameng 于 2010-8-4 00:15 编辑 ]
2010-08-02 21:47
calin
Rank: 2
等 级:论坛游民
帖 子:108
专家分:50
注 册:2010-4-11
收藏
得分:0 
以下是引用pmc1234在2010-8-2 09:28:43的发言:

你可以在总价列的 controlsource中填写 表达式啊
不知是不是这样写入,我笨鸟新手!别笑!
thisform.grid1.Columns(8).controlsource=年价*数量
这样写入后,运行没问题,但是总价列全变空了,无数据显示!

6楼的方法是可行的,但是由于我的数据量较大,有近十万个记录行。。
这样REPLACE all 一次,所花的时间会很长,
有没有办法只替换修改了数量的记录行的总价。。
2010-08-03 20:07
快速回复:grid问题,求助!
数据加载中...
 
   



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

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