| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2602 人关注过本帖, 1 人收藏
标题:请教 求助 Grid中 创建的按钮控件 如何让它始终显示当前行的按钮?
只看楼主 加入收藏
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
你截一下tba的数据结构和个别记录的图来看看。你这里没有Column1.ControlSource的设置,不知道Column1对应tba的哪个字段,查一查告诉我。我晚上有空再看看你的类库。

授人以渔,不授人以鱼。
2012-12-05 15:39
ksbbzhr
Rank: 1
等 级:新手上路
帖 子:60
专家分:0
注 册:2012-12-4
收藏
得分:0 
tba  就是  sqlexec 从sqlserver 上下载来的数据临时表   
column1 对应的应该是tba临时数据表的第一列 (目前是空字符)
第一列是字符型字段   长度 不管是10位  还是空字符  都是一个样
谢谢

[ 本帖最后由 ksbbzhr 于 2012-12-6 08:24 编辑 ]
2012-12-06 08:23
ksbbzhr
Rank: 1
等 级:新手上路
帖 子:60
专家分:0
注 册:2012-12-4
收藏
得分:0 
感谢 tonydeng   我将你的代码融合到我的Class文件中   已经初步成功
可是 又碰见个新问题  
Sqlserver 下来的临时表
sqle("select * from Sqltbl","Ct")
select .f. as 文件链接,* from ct into cursor Ct ReadWrite
thisform.grid1.recordSource="ct"
thisform.grid1.column1.contain1.text1.controlsource="tbl.f1"
显示在grid中   由于需要换行   
所以 在BeforeRowColumnChange   afterRowColumnChange 事件中加入代码
Select Ct
repl f03 with 0

结果出现 Cursor Can not be Modified  Because  a Reacord has not be saved
只要是 contain1.text1 跟表中的控制字段绑定后
replace 就会出现上述错误


请问出现这样的情况 该怎么解决?
只要解决了这个问题   就完全OK了
谢谢

[ 本帖最后由 ksbbzhr 于 2012-12-6 16:23 编辑 ]
2012-12-06 13:52
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
sql select出来的cursor默认是不能编辑的,除非那是表。vfp9作了扩展,可以加命令参数使视图可编辑,但对低版本无效。如果你使用低版本或注重可移植性,不能用这个参数,必须把视图的数据存为文件形式的表,再使用。

授人以渔,不授人以鱼。
2012-12-06 16:49
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
不是上面24楼说的原因,我也遇到了同样情况,是数据源绑定刷新数据出了问题,我已解决,但还需要再测试一下。

授人以渔,不授人以鱼。
2012-12-06 19:30
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
图片附件: 游客没有浏览图片的权限,请 登录注册


实现是实现了,但有点偶然错误,光标移入第1栏的时候,有时不能获得焦点。

授人以渔,不授人以鱼。
2012-12-06 20:56
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:20 
弄了一下,这个模式始终无法完美,操作不流畅,偶尔的点击失效会影响操作感受(其实我之前那个代码也存在同样的问题)。始终觉得,还是用我前面说的做法较好,也不见得这样比那个更直观,毕竟这个按钮中的内容也是不变的,仅仅是位置会变动而已,跟普通的固定式按钮没什么不同。

授人以渔,不授人以鱼。
2012-12-07 14:03
ksbbzhr
Rank: 1
等 级:新手上路
帖 子:60
专家分:0
注 册:2012-12-4
收藏
得分:0 
呵呵  我就是喜欢死钻牛角尖

BeforeRowColumnchange   afterRowColumnchange     舍弃了 repl 命令
用 grid.container.text1.value=0

grid.container.text1.value=1
来实现  

但是会偶然性的出现错误    不知道是怎么回事
2012-12-07 14:34
ksbbzhr
Rank: 1
等 级:新手上路
帖 子:60
专家分:0
注 册:2012-12-4
收藏
得分:0 
之前说的方法  是把按钮组放到表格外面独立  
但是这样一来就必须要先到表格里定位到所需要的记录
然后再点击外面的按钮组    否则按钮组怎么判断我需要的哪一行数据呢

这样比较稍微麻烦了点
2012-12-07 14:36
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
是重复赋值造成的问题,因为代码绑定了value属性的变化事件,对value赋值、以及grid内部绑定数据源时也有隐藏的相同绑定事件,多次触发这种东西,就出现不安全性,有时还会死机、崩溃退出——我试过是会这样了。即使解决了这个之后,鼠标点击按钮组中的按钮有时要点击多次,有时按钮组中的个别按钮自动消失,没有确定的行为,可能是VFP这种控件不完善。

授人以渔,不授人以鱼。
2012-12-07 14:39
快速回复:请教 求助 Grid中 创建的按钮控件 如何让它始终显示当前行的按钮?
数据加载中...
 
   



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

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