1
« en: Viernes 30 de Octubre de 2009, 17:38 »
Por favor una ayuda,
Necesito el código para poder arrastrar un valor de una celda de un datagrid y cambiarlo a otra celda, es facil hacerlo de un textbox al datagrid pero no entiendo como arrastrar un valor a la celda del mismo datagrid..
envio el codigo que estoy utilizando
Private Sub DGV_Horario_DragDrop(ByVal sender As Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles DGV_Horario.DragDrop
If e.Data.GetDataPresent(DataFormats.Text) Then
Dim str As String = CType(e.Data.GetData(GetType(System.String)), System.String)
Dim dgv As DataGridView = DirectCast(sender, DataGridView)
Dim p As Point = dgv.PointToClient(New Point(e.X, e.Y))
Dim hti As DataGridView.HitTestInfo = dgv.HitTest(p.X, p.Y)
If hti.Type = DataGridViewHitTestType.Cell Then
Dim cell As DataGridViewCell = dgv(hti.ColumnIndex, hti.RowIndex)
cell.Value = e.Data.GetData(DataFormats.Text)
End If
End If
End Sub
Private Sub DGV_Horario_DragEnter(ByVal sender As Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles DGV_Horario.DragEnter
If (e.Data.GetDataPresent(DataFormats.Text)) Then
' Display the copy cursor.
e.Effect = DragDropEffects.Copy
Else
' Display the no-drop cursor.
e.Effect = DragDropEffects.None
End If
End Sub
Private Sub DGV_Horario_DragOver(ByVal sender As Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles DGV_Horario.DragOver
Dim dgv As DataGridView = CType(sender, DataGridView)
Dim p As Point = dgv.PointToClient(New Point(e.X, e.Y))
Dim hti As DataGridView.HitTestInfo = dgv.HitTest(p.X, p.Y)
If hti.Type = DataGridViewHitTestType.Cell Then
e.Effect = DragDropEffects.Copy
Else
e.Effect = DragDropEffects.None
End If
End Sub