2016-06-20 10 views
0

Wenn ein Benutzer die ausgewählte Zeile in einem Raster ändern möchte, fragt das Programm ihn, ob er fortfahren möchte. Wenn Nein ist, darf die ausgewählte Zeile nicht geändert werden. Das Problem ist, ob der Benutzer auf Ja oder Nein geklickt hat, die ausgewählte Zeile ändert sich in die Zeile, auf die der Benutzer geklickt hat. Ich weiß nicht, ob ich die Validate Funktion verwenden kann, aber bitte helfen Sie mir dabei. Vielen Dank.In VB6, wie die zuvor ausgewählte Zeile in Mshflexgrid erhalten?

Antwort

0

Die MSFlexGrid-Ereignisse scheinen diese Fähigkeit nicht zu geben. Sie können die vorherige Zeile in einer Modulvariablen verfolgen. Wenn der Benutzer zu einer neuen Zeile wechselt, können Sie angeben, ob er die Zeilen ändern möchte. Wenn sie Nein klicken, können Sie die Zeile gesetzt zurück, was es war, sonst speichern Sie die Zeile, die Sie jetzt in sind.

So etwas wie dieses

Private previousRow As Integer 

Private Sub Form_Load() 
    previousRow = MSFlexGrid1.Row 
End Sub 

Private Sub MSFlexGrid1_RowColChange() 
    If previousRow <> MSFlexGrid1.Row Then 
     If MsgBox("Do you want to change rows?", vbYesNo) = vbNo Then 
      MSFlexGrid1.Row = previousRow 
     Else 
      previousRow = MSFlexGrid1.Row 
     End If 
    End If 
End Sub 
Verwandte Themen