我要向MsflexGrid中插入一些行,使用的是:
For i=0 To MsflexGrid1.rows-1
  MSFlexGrid1.AddItem "", i + 1
  ......
Next i
我需要插入多行,可当插入一定行数后,就插不进去了,也不报错,归根结底:就是上面的语句不起作用了!
各位达人,是不是我还该设置什么参数?或者是MsflexGrid的行数有限制啊?或者???
继续你们的帮助!

解决方案 »

  1.   

    mshflexgrid理论上的最大行数是2147483647,实际上要看内存分配
      

  2.   

     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
      

  3.   

     ce和ds是不是很大的文本?
      

  4.   

    这个控件有Bug,请打SP6补丁。