Private Sub Grid1_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)On Error GoTo errmsg
    If Button = 2 Then
        Dim oMenu As New cPopupMenu
        Dim lmenuchosen As Integer
        Set oMenu = New cPopupMenu
        lmenuchosen = oMenu.Popup("新增记录", "删除记录")
        Select Case lmenuchosen
            Case 1
               ' If (Grid1.TextMatrix(Grid1.Rows - 1, 0) <> "") Then
                
                    Grid1.Rows = Grid1.Rows + 1
                    Grid1.row = Grid1.row + 1
                    Grid1.Col = 1
                   ' Grid1.AddItem (Grid1.Rows)              ' End If
            Case 2
                Dim MsgboxX As Integer
                MsgboxX = MsgBox("是否要删除此记录?", vbOKCancel, "提示")
                Select Case MsgboxX
                    Case 1
                            If (Grid1.TextMatrix(Grid1.RowSel, 0) <> "") Then
                            Grid1.RemoveItem (Grid1.RowSel)
                             Grid1.Refresh
                            End If
                    Case 2
                        Exit Sub
                End Select
                 
        End Select
    End If
    Exit Sub
errmsg:
MsgBox Err.Description, 16, "新增删除记录出错"
End Sub
删除记录之后显示的rows与实际显示的不相符
有没有什么好的解决办法??

解决方案 »

  1.   

    If (Grid1.TextMatrix(Grid1.RowSel, 0) <> "") Then 这个条件不满足,没有执行删除
      

  2.   

    问题不是没有删除.
    问题是删除之后,再添加时.
    grid1.rows跟实际显示的不一样..
    删除了几点记录 rows就差几
      

  3.   

            Select Case lmenuchosen
                Case 1
                  ' If (Grid1.TextMatrix(Grid1.Rows - 1, 0) <> "") Then                    Grid1.Rows = Grid1.Rows + 1
                        Grid1.Row = Grid1.Row + 1
                        Grid1.Col = 0
                        MsgBox Grid1.Rows
                      ' Grid1.AddItem (Grid1.Rows)              ' End If
                Case 2
                    Dim MsgboxX As Integer
                    MsgboxX = MsgBox("是否要删除此记录?", vbOKCancel, "提示")
                    Select Case MsgboxX
                        Case 1
                                If (Grid1.TextMatrix(Grid1.RowSel, 0) <> "") Then
                                Grid1.RemoveItem (Grid1.RowSel)
                                Grid1.Refresh
                                MsgBox Grid1.Rows
                                End If
                        Case 2
                            Exit Sub
                    End Select        End Select
    我试验了,rows正确,没有问题
      

  4.   

    rows 是没有问题的.
    是实际显示的会少了,