Hot News:

Unser Angebot:

  Foren auf CAD.de
  VBasic / vb.net / vbs / wsh
  vb.net Datagridview zum x.ten

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
Online-Kurs: Grundlagen des 3D-Druck-Designs für Industrieingenieure , ein Kurs
Autor Thema:  vb.net Datagridview zum x.ten (2977 mal gelesen)
KMassler
Ehrenmitglied V.I.P. h.c.
CAD Admin + Mädchen für Alles... i.R.



Sehen Sie sich das Profil von KMassler an!   Senden Sie eine Private Message an KMassler  Schreiben Sie einen Gästebucheintrag für KMassler

Beiträge: 2678
Registriert: 06.11.2000

erstellt am: 18. Mrz. 2009 15:20    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities


Datagridview_checkboxen1.png


Datagridview_checkboxen2.png

 
Hallo VBler,

ich habe mal wieder ein mir unverständliches Problem.
Ich habe in meiner Form eine DataGrdiView (bin eigentlich ganz verliebt in die Dinger). Diese enthält mehrere Spalten mit verschiedenen Typen: Checkboxen, Bitmaps, Text...
Soweit funktioniert alles.

Wenn auf einen Button gedrückt wird, sollen in allen Zeilen, in denen eine bestimmte Checkbox aktiviert ist, diese deaktiviert und dafür eine Checkbox in einer anderen Spalte aktiviert werden.

Mein Problem: Egal ob ich die mit For..next oder mit For each .. next durchlaufe: in der obersten Zeile der Datagridview wird der Haken nicht umgesetzt. In allen anderen Zeilen klappt es.

Irgendwie läuft da was bei Durchlaufen der Zeilen falsch.
Der Code dazu:

Code:
'Geht nicht
        For Each GridRow As Object In DataGridView.Rows
            If GridRow.cells(0).value = True Then
                GridRow.cells(1).value = True
                GridRow.cells(0).value = False
            End If
        Next

'Geht auch nicht
        For n = 0 To DataGridView.RowCount - 1
            If DataGridView.Rows(n).Cells(0).Value = True Then
                DataGridView.Rows(n).Cells(1).Value = True
                DataGridView.Rows(n).Cells(0).Value = False
            End If
        Next



Das Ergebnis sieht beide Male gleich aus:

Hat vielleicht jemand ne Idee, was ich da falsch mache?

------------------
Klaus

www.al-ko.com | mein Gästebuch | privat... | Nasenheim 

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

KMassler
Ehrenmitglied V.I.P. h.c.
CAD Admin + Mädchen für Alles... i.R.



Sehen Sie sich das Profil von KMassler an!   Senden Sie eine Private Message an KMassler  Schreiben Sie einen Gästebucheintrag für KMassler

Beiträge: 2678
Registriert: 06.11.2000

SolidWorks Start 1999
** CSWP 01/2008 **
------------------
Zuletzt beruflich:
- SWX2020 SP5;
- SAP/PLM+ECTR;
- DriveWorks Pro;
- Programmierung:
VBA, aktuell Visual Studio 2022/VB.Net
------------------
privat:
ab 2024 Onshape
seit 2025 SolidWorks for Makers

erstellt am: 19. Mrz. 2009 09:59    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Jetzt hab ich selber was festgestellt:
Der Fehler hat nix mit falscher Zählung oder Indexierung (Indizierung?) zu tun: Das Problem ist das jeweils markierte (selektierte) Feld- hier wird der Wert nicht geändert.

Jetzt muss ich nur noch herausfinden, warum nicht. Oder die Selektion aufheben. Mal schaun, wie das geht.

------------------
Klaus

www.al-ko.com | mein Gästebuch | privat... | Nasenheim 

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

KMassler
Ehrenmitglied V.I.P. h.c.
CAD Admin + Mädchen für Alles... i.R.



Sehen Sie sich das Profil von KMassler an!   Senden Sie eine Private Message an KMassler  Schreiben Sie einen Gästebucheintrag für KMassler

Beiträge: 2678
Registriert: 06.11.2000

erstellt am: 19. Mrz. 2009 10:16    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Ich habs- und wills euch nicht vorenthalten 

Ich versteh zwar nicht, warum der Wert der Checkbox nicht geändert wird, wenn die Zelle selektiert ist, aber ich kanns zumindest umgehen.

Erst mal ein DataGridView.ClearSelection() eingefügt..das löscht aber offenbar nur die sichtbare Auswahl der Zelle, funktionieren tuts damit immer noch nicht. Auch die selected-eigenschaft der betroffenen Zelle auf false zusetzen, reicht nicht.
Also hab ich eben vorher irgendeine andere Zelle der DataGridView selektiert, die von der Aktion nicht betroffen ist. Damit wird wohl automatisch die ursprünglich selektierte Zelle deselektiert und damit geht's.

Code:
        DataGridView.Rows(0).Cells(4).Selected = True 'andere, nicht betroffene Zelle auswählen
        DataGridView.ClearSelection() 'löscht sichtbare Auswahlen (blaue Markierung)
        For n = 0 To DataGridView.RowCount - 1
            If DataGridView.Rows(n).Cells(0).Value = True Then
                DataGridView.Rows(n).Cells(1).Value = True
                DataGridView.Rows(n).Cells(0).Value = False
            End If
        Next


Von hinten durch die Brust ins Auge....

------------------
Klaus

www.al-ko.com | mein Gästebuch | privat... | Nasenheim 

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2025 CAD.de | Impressum | Datenschutz