vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Erstellen von dynamischen Kontextmen?s - wann immer Sie sie brauchen!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Fragen & Antworten rund um sev-Komponenten
sevDataGrid - BeforeUpdate 
Autor: StefanWalda
Datum: 28.12.05 12:12

Hallo,

habe mit dem Grid folgenden effekt

Initialisiert wird das Grid mit folgendem Code

With sevGrid1
      ' autom. Neuzeichnen ausschalten
      .LockUpdate True
 
      .DataMode = Mode_Recordset
      .AllowDelete = True
      .AllowEdit = True
      .StartEditWith = EDIT_MANUELL
      .AllowMultiSelect = False
      .AutoRedraw = False
      .BalloonTip = True
 
      ' interaktives Ändernder Spaltenbreiten zulassen
      .AllowColumnSizing = True
 
      ' autom. Sortierung aktivieren
      .AutoSort = True
      .ShowSortSymbols = True
 
      ' Recordset zuweisen
      .Clear True
 
      ' Recordset-Kopie erstellen
      .CreateClone = False
 
      Set oRs = oDB.OpenRecordset(sSQL)
 
      Set .Recordset = rs
 
       ' Nach Name sortieren
      .DoSort "PLZ", SORT_ASC
 
      ' ursprüngliches Recordset zerstören
      If Not (rs Is Nothing) Then rs.Close
      Set rs = Nothing
 
      .Refresh
 
      ' 1. Zeile selektieren
      .Row = 1
 
      .LockUpdate False
 
End With
Private Sub sevGrid1_AfterUpdate(ByVal nRow As Long, ByVal nCol As Long, ByVal _
  sText As String)
 
    On Error Resume Next
 
    With sevGrid1
        If .IsEditMode = MODE_EDIT Then
                 ' Code zum verarbeiten
        End If
    End With
End Sub
Private Sub sevGrid1_BeforeUpdate(ByVal nRow As Long, ByVal nCol As Long, sText _
  As String, Cancel As Integer)
 
    With sevGrid1
        If .IsEditMode = MODE_EDIT Then
            Select Case nCol
                Case .GetCol("PLZ")
                    bCancel = CheckOrt(Trim(sText), CStr(.Text(nRow, .GetCol( _
                      "Ort"))))
                Case .GetCol("Ort")
                    bCancel = CheckOrt(CStr(.Text(nRow, .GetCol("PLZ"))), Trim( _
                      sText))
            End Select
        End If
    End With
End Sub
Angezeigt werden im Grid 3 Spalten PLZ, Ort und Vorwahl.

Wenn ich in der Zelle PLZ oder Ort den Wert ändere und die TAB-Taste drücke,
wird erst die BeforeUpdate und dann die AfterUpdate-Funktion ausgelöst; so wie es sein soll.

Wenn ich die letzte Spalte (Vorwahl) ändere und die TAB-Taste drücke, wird die
BeforeUpdate dann die AfterUpdate und dann nocheinmal die BeforeUpdate-Funktion ausgelöst.

Komischerweise, wenn ich den Inhalt der AfterUpdate-Funktion auskommentiere,
wird die BeforeUpdate-Funktion das 2 mal nicht mehr aufgerufen.

Gibt es einen Grund, warum das so ist, oder mach ich etwas falsch

Danke
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
sevDataGrid - BeforeUpdate993StefanWalda28.12.05 12:12
Re: sevDataGrid - BeforeUpdate602StefanWalda28.12.05 12:20
Re: sevDataGrid - BeforeUpdate545ModeratorDieter28.12.05 14:51
Re: sevDataGrid - BeforeUpdate537StefanWalda28.12.05 17:31

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel