ERRO COM FLEXGRID!!

MESTRE 15/01/2014 14:45:14
#433092
Então galera, gostaria de ajudar a ajuda do MARCELO TREZE até aqui , mais o FlexGrid está com problema, tenho um grid com nome [Ô]grdPesq[Ô] e no caso quero fazer um drag and drop nele.. só que está dando erro :(

tentei de 2 maneiras, 1 foi proposta pelo Marcelo treze.. e a outra by dr.google
[th][/th]
By Marcelo Treeze
Private Sub MSFlexGrid1_DragDrop(Source As Control, x As Single, y As Single)
If Source Is Me.MSFlexGrid1 Then
Dim strTemp As String

With Me.MSFlexGrid1
[ô]make sure all columns are selected
[ô]required for Clip propertye
.Col = 0: .ColSel = .Cols - 1

strTemp = .Clip [ô]save the data in the selected row

.RemoveItem .Row

.AddItem strTemp, .MouseRow + 1 [ô]moves row after

End With
End If
End Sub


Private Sub MSFlexGrid1_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)
If Button = vbRightButton And Me.MSFlexGrid1.MouseCol = 0 Then
Me.MSFlexGrid1.Drag vbBeginDrag
Me.MSFlexGrid1.Row = Me.MSFlexGrid1.MouseRow
End If
End Sub


Outra Forma by Dr.Google
[th][/th]
by google
Option Explicit
Private dragging As Boolean
Private sourceRow As Integer

Private Sub MSHFlexGrid1_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)
With MSHFlexGrid1
If .MouseCol = 0 And .MouseRow > 0 Then
dragging = True
sourceRow = .MouseRow
End If
End With
End Sub

Private Sub MSHFlexGrid1_MouseMove(Button As Integer, Shift As Integer, x As Single, y As Single)
If dragging Then
With MSHFlexGrid1
.Col = 0
.Row = .MouseRow
Label1.Move .Left + .CellLeft, .Top + .CellTop
Label1.Height = .CellHeight [ô] / 4
Label1.Width = .Width
Label1.Drag vbBeginDrag
End With
End If
End Sub

Private Sub MSHFlexGrid1_MouseUp(Button As Integer, Shift As Integer, x As Single, y As Single)
dragging = False
End Sub

Private Sub MSHFlexGrid1_DragOver(Source As Control, x As Single, y As Single, State As Integer)
If Source.Name = [Ô]Label1[Ô] Then
If MSHFlexGrid1.MouseRow > 0 And MSHFlexGrid1.MouseRow <> sourceRow Then
MSHFlexGrid1.RowPosition(sourceRow) = MSHFlexGrid1.MouseRow
MSHFlexGrid1.Col = 1
MSHFlexGrid1.Row = MSHFlexGrid1.MouseRow
MSHFlexGrid1.RowSel = MSHFlexGrid1.MouseRow
sourceRow = MSHFlexGrid1.MouseRow
End If
End If
End Sub

Private Sub MSHFlexGrid1_DragDrop(Source As Control, x As Single, y As Single)
If Source.Name = [Ô]Label1[Ô] Then
Label1.Drag vbEndDrag
MSHFlexGrid1.Refresh
dragging = False
End If
End Sub



ERRO Apresentado [Ô]Compile Error metod or data member not found[Ô] no evento Mouse_Down


MARCELO.TREZE 15/01/2014 19:04:58
#433112
Resposta escolhida
Bom o código que postei funciona, porém vc deve clcar com o botao direito do mouse e arrastar, claro altere onde estiver escrito MSFlexgrid1 para o nome do seu grid grdPesq

o segundo código foi projetado para um Hierarical Flexgrid, e não MSFlexgrid, porém se você alterar o nome MSHFlexgrid1 para o nome do seu grid acredito que funcione.

MESTRE 16/01/2014 10:16:33
#433136
Marcelo valew pela força FUNCIONOU agora :)

Encerrando o tópico e abrindo outro! haha
Tópico encerrado , respostas não são mais permitidas