MSFlexGrid1.RemoveItem i 
现在是删除i行,那么保留i行用什么函数,也就是删除i以外的行,该怎么写

解决方案 »

  1.   

    for j=0 to MSFlexGrid1.itemcount-1
      if j<>i then MSFlexGrid1.RemoveItem j
    next j
      

  2.   

    楼上的代码不正确,因为在删除I前面的行的时候,最初的I行是会往前移的!方法一:先把要保留的I行的所有数据保存到数组里面,然后清空Msflexgrid的所有数据,然后再把数组中的东西重新写回Msflexgrid,代码如下:    Dim xx() As String
        ReDim xx(MSFlexGrid1.Cols)
        
        Dim yy As Long
        For yy = 0 To MSFlexGrid1.Cols - 1
            xx(yy) = MSFlexGrid1.TextMatrix(i, yy)
        Next yy
        
        MSFlexGrid1.Rows = 2
        MSFlexGrid1.Clear
        For yy = 0 To MSFlexGrid1.Cols - 1
            MSFlexGrid1.TextMatrix(i, yy) = xx(yy)
        Next yy方法二:通过循环直接从Msflexgrid删除除要保留的行以外的其他行,代码如下:    Dim xx As Long
        xx = MSFlexGrid1.Rows - 1
        While xx <> 0
            If xx = i Then
                xx = xx - 1
            End If
            MSFlexGrid1.RemoveItem xx
            xx = xx - 1
        Wend
      

  3.   

    Dim xx As Long,j as long
        xx = MSFlexGrid1.Rows - 1
    for j=i+1 to xx
        MSFlexGrid1.RemoveItem j
    next j
    for j=0 to i-1
        MSFlexGrid1.RemoveItem 0
    next j
      

  4.   

    dim Temp
    Temp =MSFlexGrid1.Text(i)
    MSFlexGrid1.clear
    MSFlexGrid1.Add Temp
      

  5.   

    for j = MSFlexGrid1.Rows-1 to 0 step -1
        if j<>i then MSFlexGrid1.RemoveItem j
    next