关于MsflexGrid插入行的问题,是不是有限制?

8901 2011-12-12 02:45:53
我要向MsflexGrid中插入一些行,使用的是:
For i=0 To MsflexGrid1.rows-1
MSFlexGrid1.AddItem "", i + 1
......
Next i
我需要插入多行,可当插入一定行数后,就插不进去了,也不报错,归根结底:就是上面的语句不起作用了!
各位达人,是不是我还该设置什么参数?或者是MsflexGrid的行数有限制啊?或者???
继续你们的帮助!
...全文
81 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
cnuser1 2011-12-12
  • 打赏
  • 举报
回复
这个控件有Bug,请打SP6补丁。
8901 2011-12-12
  • 打赏
  • 举报
回复
大侠们,给点提示啊!谢啦
8901 2011-12-12
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 veron_04 的回复:]
ce和ds是不是很大的文本?
[/Quote]
不是,里面只有5条记录
贝隆 2011-12-12
  • 打赏
  • 举报
回复
ce和ds是不是很大的文本?
8901 2011-12-12
  • 打赏
  • 举报
回复
咋没人说话了?
8901 2011-12-12
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 veron_04 的回复:]
请附上代码看看
[/Quote]
Dim ce As New ADODB.Recordset
Dim cs As New ADODB.Recordset
Dim cd As New ADODB.Recordset

For i = 0 To MSFlexGrid1.Rows - 1
If Not ce.EOF Then

MSFlexGrid1.AddItem "", i + 1
MSFlexGrid1.TextMatrix(i + 1, 1) = MSFlexGrid1.TextMatrix(i, 1)
MSFlexGrid1.TextMatrix(i + 1, 2) = "编码器电缆"
MSFlexGrid1.TextMatrix(i + 1, 3) = ce(2)
MSFlexGrid1.TextMatrix(i + 1, 4) = MSFlexGrid1.TextMatrix(i, 4)
MSFlexGrid1.TextMatrix(i + 1, 5) = MSFlexGrid1.TextMatrix(i, 5)

MSFlexGrid1.AddItem "", i + 1
MSFlexGrid1.TextMatrix(i + 1, 1) = MSFlexGrid1.TextMatrix(i, 1)
MSFlexGrid1.TextMatrix(i + 1, 2) = "动力电缆"
MSFlexGrid1.TextMatrix(i + 1, 3) = ce(3)
MSFlexGrid1.TextMatrix(i + 1, 4) = MSFlexGrid1.TextMatrix(i, 4)
MSFlexGrid1.TextMatrix(i + 1, 5) = MSFlexGrid1.TextMatrix(i, 5)

MSFlexGrid1.AddItem "", i + 1
MSFlexGrid1.TextMatrix(i + 1, 1) = MSFlexGrid1.TextMatrix(i, 1)
MSFlexGrid1.TextMatrix(i + 1, 2) = "伺服放大器"
MSFlexGrid1.TextMatrix(i + 1, 3) = ce(1)
MSFlexGrid1.TextMatrix(i + 1, 4) = MSFlexGrid1.TextMatrix(i, 4)
MSFlexGrid1.TextMatrix(i + 1, 5) = MSFlexGrid1.TextMatrix(i, 5)
End If
ce.Close
Next i

Dim ds As New ADODB.Recordset
Dim k As Integer

For k = 0 To MSFlexGrid1.Rows - 1
sql = "select * from 气动元件 where 气缸='" & MSFlexGrid1.TextMatrix(k, 3) & "'"
ds.Open sql, conn, adOpenStatic, adLockBatchOptimistic '3,3

If Not ds.EOF Then
Combo1.Text = 0
MSFlexGrid1.AddItem "", k + 1
MSFlexGrid1.TextMatrix(k + 1, 1) = MSFlexGrid1.TextMatrix(k, 1)
MSFlexGrid1.TextMatrix(k + 1, 2) = "磁性开关"
MSFlexGrid1.TextMatrix(k + 1, 3) = ds(1)
MSFlexGrid1.TextMatrix(k + 1, 4) = Combo1.Text
MSFlexGrid1.TextMatrix(k + 1, 5) = MSFlexGrid1.TextMatrix(k, 5)
im = "insert into 项目备件数量导入(工位名称,名称,型号,数量,厂商) "

MSFlexGrid1.AddItem "", k + 1
MSFlexGrid1.TextMatrix(k + 1, 1) = MSFlexGrid1.TextMatrix(k, 1)
MSFlexGrid1.TextMatrix(k + 1, 2) = "气动接头"
MSFlexGrid1.TextMatrix(k + 1, 3) = ds(2)
MSFlexGrid1.TextMatrix(k + 1, 4) = MSFlexGrid1.TextMatrix(k, 4) * 2
MSFlexGrid1.TextMatrix(k + 1, 5) = MSFlexGrid1.TextMatrix(k, 5)
End If
ds.Close
Next k
贝隆 2011-12-12
  • 打赏
  • 举报
回复
请附上代码看看
8901 2011-12-12
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 veron_04 的回复:]
引用 1 楼 leftie 的回复:
mshflexgrid理论上的最大行数是2147483647,实际上要看内存分配

有理
实际上达到一定的行就会导致内存不足的
[/Quote]
但是现在的情况是,我插入20多行后,后面的插入再也不起作用了
贝隆 2011-12-12
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 leftie 的回复:]
mshflexgrid理论上的最大行数是2147483647,实际上要看内存分配
[/Quote]
有理
实际上达到一定的行就会导致内存不足的
饮水需思源 2011-12-12
  • 打赏
  • 举报
回复
mshflexgrid理论上的最大行数是2147483647,实际上要看内存分配

1,451

社区成员

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

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