您的位置:程序门 -> vb -> 控件



vsflexgrid1中的刷新?


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


vsflexgrid1中的刷新?[已结贴,结贴人:haorong]
发表于:2007-08-15 22:32:12 楼主

问题1:如何刷新?
(因为“编码”的值在随时发生变化,所以vsflexgrid1中对应的图片也要随值而变化。)
我目前使用的方法是:再次调用所有代码sx(),请问有没有其他的刷新方法?

问题2:刷新后如何不改变焦点(光标)的位置?
(我用键盘的方向键在vsflexgrid1表格上移动焦点(光标),如果我目前将焦点的位置停留在表格的某个位置上,刷新后能否不改变焦点的位置,依然停留在刚刚的位置上。)

function   sx()
call   hao
sql   =   "select   *   from   www   "
rs.open   sql,   cn,   1,   1
while   not   rs.eof
vsflexgrid1.rows   =   vsflexgrid1.rows   +   1
vsflexgrid1.row   =   vsflexgrid1.rows   -   1
vsflexgrid1.col   =   1
vsflexgrid1.text   =   rs( "编码 ")
         
'根据(rs( "编码 "))值在vsflexgrid1中显示imagelist1控件对应的图片
select   case   trim(rs( "编码 "))   vsflexgrid1
case   "n "
set   vsflexgrid1.cellpicture   =   imagelist1.listimages(1).picture
case   "y "
set   vsflexgrid1.cellpicture   =   imagelist1.listimages(2).picture
case   "o "
set   vsflexgrid1.cellpicture   =   imagelist1.listimages(3).picture
end   select
rs.movenext
wend
call   rong
end   function
发表于:2007-08-15 22:34:591楼 得分:0
不好意思!请现看下面的代码,在看上面的问题。
谢谢!
发表于:2007-08-16 09:22:332楼 得分:20
//问题2:刷新后如何不改变焦点(光标)的位置?
先记下光标的位置,刷新后移动到这个位置
发表于:2007-08-16 14:43:393楼 得分:0
谢谢!楼上的兄弟
我试过,用鼠标单击事件移动位置后记下光标的位置可以实现,但是怎样用键盘的方向键移动来实现呢?
再请教,我的第一个问题还没有其他的刷新方法?
发表于:2007-08-16 19:26:194楼 得分:0
请帮帮我,谢谢你们了
发表于:2007-08-17 09:03:185楼 得分:0
刷新问题:
      控件中那个单元格中的内容发生了变化就单独的修改单元格的值就行了,对于改变内容项较少的情况下可用。如果需要改变的项过多,建议重新载入一下,这样可能好一点。
焦点问题:
      上面有人说过了,在重刷新时记录下光标聚焦的位置,待重刷新完了之后再重定位到先前的单元格上。
发表于:2007-08-17 09:24:466楼 得分:20
“我试过,用鼠标单击事件移动位置后记下光标的位置可以实现,但是怎样用键盘的方向键移动来实现呢?”
刷新前记录下选中的行和列,刷新后重新设置回去不就可以了
至于刷新,诚如楼上兄弟所说,如果只几个值改变了,就仅把那几个单元格的值修改就好了
发表于:2007-08-18 08:58:327楼 得分:60
刷新前记录下选中的行和列,刷新后重新设置回去不就可以了??
不会出现这样的情况的,楼主是不是什么地方做的不到位。
想通过光标移动操作实现,这是可行的,对按键编程即可。
发表于:2007-08-18 08:59:188楼 得分:0
不好意思,楼上的不是楼主。-_-
发表于:2007-08-18 12:42:139楼 得分:0
小弟我实在是无能,还请大家再次帮我看一下键盘移动焦距的方法

用鼠标移动焦距可以实现,请问用键盘移动焦距怎样实现?代码如下
用鼠标移动焦点,我在控件上vsflexgrid1_click()事件中添加:
dim   a,b   as   long  
a=vsflexgrid1.row   '活动单元的坐标
b=vsflexgrid1.   col   '活动单元的坐标
'刷新后读取单元的坐标位置
vsflexgrid1.row   =   a
vsflexgrid1.col   =   b
可以实现刷新后还停留在原先的位置


问题?用键盘移动焦点我是将代码添加在rowcolchange()事件中是否正确?
rowcolchange()事件   '在当前单元改变为一个不同的单元时该事件发生
'我用同样的方法在rowcolchange()事件中添加
dim   a,b   as   long  
a=vsflexgrid1.row '   活动单元的坐标
b=vsflexgrid1.   col '   活动单元的坐标
刷新后在读取坐标值
vsflexgrid1.row   =   a
vsflexgrid1.col   =   b
为什么刷新后在读取坐标值却不起作用?

还请大家在帮我看一下,感谢。


快速检索

最新资讯
热门点击