关于MSHFlexGrid 控件的棘手问题,请各位大侠帮忙!!

undercontrol 2005-03-23 03:46:48
在窗体中使用了MSHFlexGrid 控件,作用是存放添加的记录。
在记录添加完后,程序会将MSHFlexGrid容器中的数据一并写入后台数据库。
界面功能有:添加记录,删除(容器中最末一条)记录,保存,恢复。
问题是:
当不使用删除功能时,数据可以顺利地添加到MSHFlexGrid中。(程序中使用object.RemoveItem 方法删除记录)
一旦使用删除功能删除容器中的最末记录,紧接着再向容器中添加记录时,总是无法成功(好象object.AddItem ""方法未起作用)。但再次添加,又可成功添加了。且不可添加的次数总是和删除的次数成正比。
希望各位仁兄赐教!谢谢!!
...全文
109 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
undercontrol 2005-03-23
  • 打赏
  • 举报
回复
谢谢 Leftie 的帮助,问题终于解决了!
程序的“添加”模块里并没有什么问题,对于添加数据无论使用:object.AddItem "" 还是 object.rows=object.rows+1 都可以。
在删除模块里将原来的 object.RemoveItem 替换为 object.rows=object.rows-1 ,问题顺利解决。
但还是不明白为什么使用了 object.RemoveItem 就不行。
lyj0558 2005-03-23
  • 打赏
  • 举报
回复
up
饮水需思源 2005-03-23
  • 打赏
  • 举报
回复
应该可以的,不会是控件显示数据较多,超过一页了吧,这样再试试:
with msflexgrid
.rows=.rows+1 '增加一行
.textmatrix(.rows-1,0)="aa"
.textmatrix(.rows-1,1)="bb"
.row=.rows-1
.toprow=.row
end with
samwzhang 2005-03-23
  • 打赏
  • 举报
回复
刷新
undercontrol 2005-03-23
  • 打赏
  • 举报
回复
谢谢,但显然不行,即使是用.rows=.rows+1代替object.AddItem ""的功能实现添加数据,只要删除了这一行,接着的添加总是无法实现。好象是已经新增了一行,但在MHFLEXGRID中却没有显示。不能添加行的次数总是和删除的次数相等。
饮水需思源 2005-03-23
  • 打赏
  • 举报
回复
'这样试试:
with msflexgrid
.rows=.rows+1 '增加一行
.textmatrix(.rows-1,0)="aa"
.textmatrix(.rows-1,1)="bb"
end with

7,759

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧