vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
TOP-Angebot: 17 bzw. 24 Entwickler-Vollversionen zum unschlagbaren Preis!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

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

VB.NET - Ein- und Umsteiger
Re: Ereignis auslösen für DataGridViewCheckBox 
Autor: Hockov
Datum: 18.09.08 07:41

Hallo
Danke für den Tipp.
Funktioniert jetzt super.
Ich kann mein Code im CellValueChanged Ereignis stehen lassen und muß nur im CurrentCellDirtyStateChanged Ereignis, der Methode CommitEdit den Commit Wert zuweisen.
Danke !!!
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Ereignis auslösen für DataGridViewCheckBox 
Autor: Hockov
Datum: 17.09.08 20:28

Hallo
habe folgendes Problem
Ich habe ein Formular mit einem DataGridView erstellt.
Dieses Formular wurde so programmiert, das man Ihr ein DataTable übergeben kann, die Daten geändert und abgespeichert werden können.
Nun habe ich Ihr eine Tabelle übergeben die auch einer Spalte enthält, die nur boolische Werte hat.
Im DataGridView wurde dies mit CheckBoxen angezeigt.
Ich möchte das in dieser Spalte immer nur ein Häckchen gesetzt werden kann.
Wenn ich in der ersten Zeile ein Häckchen setze sollen alle anderen Häckchen in den anderen Zeilen weg sein.
Nun brauche ich ein Ereignis das ausgelöst wird, wenn ich den Wert in der CheckBox ändere.

Ich habe meinen Code bis jetzt in dem Ereignis CellValueChanged geschrieben.
Wenn ich ein Häckchen setze nimmt er aber erst die anderen Häckchen weg wenn ich die Zeile verlasse und nicht wie gewünscht beim setzen des Häckchens.

Wär nett wenn mir jemand helfen kann.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Ereignis auslösen für DataGridViewCheckBox 
Autor: ModeratorDieter (Moderator)
Datum: 17.09.08 20:51

Auszug aus der MSDN zu CellValueChanged:

Zitat:

Das DataGridView.CellValueChanged-Ereignis tritt ein, wenn ein vom Benutzer angegebener Wert gespeichert wird, z. B. nachdem der Fokus nicht mehr auf der Zelle liegt.

Bei Kontrollkästchenzellen sollen Änderungen jedoch meist sofort behandelt werden. Damit beim Klicken auf die Zelle die Änderung gespeichert wird, müssen Sie das DataGridView.CurrentCellDirtyStateChanged-Ereignis behandeln. Wenn es sich bei der aktuellen Zelle um eine Kontrollkästchenzelle handelt, rufen Sie im Handler die DataGridView.CommitEdit-Methode auf, und übergeben Sie den Commit-Wert.

_________________________
Professionelle Entwicklerkomponenten
www.tools4vb.de

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Ereignis auslösen für DataGridViewCheckBox 
Autor: Hockov
Datum: 17.09.08 21:14

Hallo danke für die Hilfe.
ich habe jetzt aber leider das Problem, das ich in meinem Code nicht mehr die Spalte und die Zeile abfragen kann (e.ColumnIndex und e.RowIndex. Desweiteren weis ich nicht so genau welchen Wert ich der CommitEdit Methode übergeben muß. Ich hab mal den Code zugefügt, vieleicht können Sie mir nochmal helfen.

  ' Nur eine CheckedBox in der Spalte Vorbelegt darf checked sein
        If e.ColumnIndex = 3 Then ' Wenn Spalte mit Vorbelegt geändert wird
            Dim zeileNr As Integer = e.RowIndex ' Zeilen Nr abfragen
            If dgvAuswahlliste.Item(3, zeileNr).Value = True Then ' abfragen ob 
            ' die bearbeitende Zelle in der Spalte Vorbelegt checked ist
                For zeile = 0 To dgvAuswahlliste.RowCount - 1 ' durch alle 
                ' Zeilen gehen
                    If zeile <> zeileNr Then ' Alle CheckedBoxen bis auf die 
                    ' bearbeitende Zelle in der Spalte Vorbelegt auf false 
                    ' setzen
                        If dgvAuswahlliste.Item(3, zeile).Value = True Then
                            dgvAuswahlliste.Item(3, zeile).Value = False
                        End If
                    End If
                Next
            End If
        End If
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

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-2024 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