如何在正在编辑的dgv1中的行下方显示dgv2

时间:2016-11-21 01:35:13

标签: vb.net datagridview

enter image description here我试图在dgv1上显示dgv2,但正在编辑dgv1的行下面。

我尝试使用此代码

  Private Sub Purchases_CellBeginEdit(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellCancelEventArgs) Handles Purchases.CellBeginEdit

    Dim Y as integer = 0

   For i As Integer = 0 To dgv1.CurrentRow.Index
            If dgv1.Rows(i).Index < dgv1.CurrentRow.Index Then
                Y = dgv1.Rows.Count * dgv1.Rows(0).Height + dgv1.ColumnHeadersHeight + 12
            End If
        Next
        dgv2.Location = New Point(53, Y)

  End Sub

我表现得很好但是当我回到dgv1上的第1行时,它会保持原样。让我说我从第1行开始编辑,然后进入第4行,我想在第1行进行修正,我希望dgv2在第1行下移回。

非常感谢任何帮助。

2 个答案:

答案 0 :(得分:0)

刚刚遇到这个并发现使用鼠标y位置(减去表格顶部+ 24)完美无缺。

Private Sub DataGridView1_CellEnter(sender As Object, e As DataGridViewCellEventArgs) Handles DataGridView1.CellEnter
    mouseY = Windows.Forms.Cursor.Position.Y - Me.Top + 24
End Sub

答案 1 :(得分:-1)

我删除了if条件并且它完美地运行

这是代码

    Try
        For i As Integer = 0 To Purchases.CurrentRow.Index

       Y = i * Purchases.Rows(0).Height + Purchases.ColumnHeadersHeight + 34


        Next

        itemlist.Location = New Point(53, Y)

    Catch ex As Exception
        MsgBox(ex.Message)
    End Try