在线等!!关于MSHFlexGrid控件删除行问题。。。

studyharding 2003-10-30 02:25:18
With MSHFlexGrid_db
For i = 2 To .Rows - 1
.RemoveItem (.Row)
Next i
'End If
End With
...全文
57 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
studyharding 2003-10-30
  • 打赏
  • 举报
回复
搞定了
wolfhero 2003-10-30
  • 打赏
  • 举报
回复
.Refresh
jacky2004 2003-10-30
  • 打赏
  • 举报
回复
那是因为你删除了某一行后,以下几行的索引会自动向上移一位,所以会造成下标越界
假如有10行,索引为0-9,如果你删除了第5行,则原来索引为6的则变为5,7则变6....到第9就变成了8,而你的循坏中i的值仍为9,所以会错。建议删除一行后及时修改i值。
studyharding 2003-10-30
  • 打赏
  • 举报
回复
还是同样报错,不知为何。

myValue都可以正确打印,应该是下标0的原故。
我把.Cols设置了也不可以。

应该还是.RemoveItem的问题吧。

不知道了,高手指点!
射天狼 2003-10-30
  • 打赏
  • 举报
回复
For i = .Rows - 1 to 2 step -1
.RemoveItem (.Row)
Next i
'End If
End With

'=======
你把数据都删除了,再删除当然出错了,反过来删除就没问题了~~~~
studyharding 2003-10-30
  • 打赏
  • 举报
回复
Sorry,TAB习惯了。

With MSHFlexGrid_db
For i = 2 To .Rows - 1
.RemoveItem (.Row)
Next i
End With

With MSHFlexGrid_db
.TextMatrix(iCurrentGridLine_up, 0) = myValue ' <--
' ... ...
.Row = .Row + 1
Ene with

Grid中没有数据时,运行没问题。
一旦有数据,下方标注的赋值语句就报,下标越界错误。

请问为何。
VB6写的一款笔记软件的源码,里面包含有很多窗体控件的使用技巧,比如MSHFlexgrid表格、TreeView的动态加载、Ado的增删改查等。 本软件提供对日常生活、工作中的学习笔记、图文并茂存储以及自由抓取网页中好的文章进管理存储。知识点:   1、MSHFlexgrid 表格的灵活运用,其中的表格列项显示、隐藏功能很有参考意义,另外还有列项位置的动态加载。   2、异性窗体,圆形窗体使用。   3、自制专业界面,虽然只有一个雏形,不过已经提供了一个简单的思路,菜单、选项卡、Treeview的美化。   4、TreeView的动态加载和节点图标的加载,其中F2快捷键添加删除节点、节点排序提供了一个简单的思路。   5、vbs与软件的交互可以提供动态采集网页内容到程序中储存。   6、Richtextbox的日常功能应用,rtf文档的处理也有用到。   7、Ado的增删改查应用。   8、Api函数的运用。      程序虽小,不过在做一个日常数据库应用软件所需要的功能、控件基本上都有涉及,如果初学者多加琢磨,相信提高会很快的,因为我就是从0开始学的,每学会一项知识点、一个控件,我就把它应用在这个程序上面,所以相信初学者也可以从中学到相关知识,另外整个程序提供了一个思路,写代码需要注重知识、经验的总结积累,写软件就是一项积累的过程,很多时候需要不断的积累这些宝贵的经验。这份代码隐藏了很多的bug,希望拿到这份代码的同学可以多去修改,如果能将改进的成果继续发布在源码爱好者,我将感激不荆我设计这一软件的理念和大家共勉:我记录的一切,对你来说也许毫无新意,但对我来说,就是不断觉悟的自我……   这份源代码在我电脑可以正常使用,我也没再其它vb环境测试了,第一次打开会提示需要选择一次数据库路径。

7,763

社区成员

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

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