vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
SEPA-Dateien erstellen inkl. IBAN-, BLZ-/Kontonummernprüfung  
 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: Datagridview mit Combobox 
Autor: ModeratorDaveS (Moderator)
Datum: 10.03.12 13:38

http://msdn.microsoft.com/en-us/library/7tas5c80.aspx

________
Alle Angaben ohne Gewähr. Keine Haftung für Vorschläge, Tipps oder sonstige Hilfe, falls es schiefgeht, nur Zeit verschwendet oder man sonst nicht zufrieden ist

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Datagridview mit Combobox 
Autor: isensa
Datum: 02.03.12 19:24

Hallo zusammen

Wie ändere ich eine Spalte im Datagridview zu Combobox?
Ich komme einfach nicht mehr weiter.


Gruss
Sascha
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Datagridview mit Combobox 
Autor: Manfred X
Datum: 02.03.12 22:13

Hallo!

http://www.vbarchiv.net/forum/read.php?f=22&t=25056&i=25090
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Datagridview mit Combobox 
Autor: isensa
Datum: 03.03.12 10:39

Hallo Manfred X

Die Combobox geht soweit aber die Meldung bekomme ich nicht weg. Ich habe das Prog unter dem Link beigelegt
http://web217.server8.cshost.ch/Prog/Prog.zip . Vielleicht hast du noch eine Lösung.

merci

Gruss
Sascha
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Datagridview mit Combobox 
Autor: isensa
Datum: 03.03.12 11:15

Hallo
ist das falsch ?
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Datagridview mit Combobox 
Autor: isensa
Datum: 02.03.12 23:54

Hallo

Die Combobox habe ich. Nun bekomme ich noch die Fehlermeldungen: System.ArgumentException


        Dim Daten As New DataTable
        Dim test As String = "select * from Stempelzeit where User_id=1"
        DGV.AutoGenerateColumns = True
 
        Daten = ReadDataTable01(Daten, test)
 
        DGV.DataSource = Daten
 
        Dim CityComboColumn As New DataGridViewComboBoxColumn
        CityComboColumn.HeaderText = "info"
        CityComboColumn.DataPropertyName = "info"
        CityComboColumn.DisplayIndex = 5
 
        DGV.Columns.RemoveAt(4)
        DGV.Columns.Add(CityComboColumn)
        Dim test1 As String = "test"
 
        For i = 0 To DGV.Rows.Count
            test1 = DGV.Rows.Item(i).Cells(4).Value.ToString
            If Not CityComboColumn.Items.Contains(test1) Then
                CityComboColumn.Items.Add(test1)
            End If
        Next
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Datagridview mit Combobox 
Autor: Manfred X
Datum: 03.03.12 10:59

Hallo!

Kurzer Blick auf den Code ergibt:
Du setzt die Datasource-Eigenschaft des Datagridview auf die Tabelle
"Daten" und greifst in der Schleife zum Füllen der ComboBoxColumn
auf die Tabelle "Abwesenheit" zu. Ich vermute das führt zu einem
Problem.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Datagridview mit Combobox 
Autor: Manfred X
Datum: 03.03.12 11:48

Hallo!

Kommt - wie so oft - auf die Datenlage an.

[I]Die Werte der Dropdownliste (oder die durch die ValueMember-Eigenschaft
angegebenen Werte) müssen die tatsächlichen Zellwerte enthalten, da das
DataGridView-Steuerelement andernfalls eine Ausnahme auslöst.[/I]
(MSDN: DatagridViewComboboxColumn)
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Datagridview mit Combobox 
Autor: Manfred X
Datum: 03.03.12 00:30

Hallo!

Wo genau kommt der Fehler?

Die Rows-Schleife darf nur bis Count-1 laufen.
Du mußt in dieser Schleife auf die Datenquelle zugreifen ("Daten").
Ob Dein Zell-Index stimmt (=4), kann ich nicht beurteilen.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Datagridview mit Combobox 
Autor: isensa
Datum: 03.03.12 14:17

Hallo
Wurde ich verschoben?
Wo sind die restlichen Einträge?
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Datagridview mit Combobox 
Autor: isensa
Datum: 03.03.12 18:32

Hallo

wie kann ich eine Vorauswahl der Combobox erstellen?
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Datagridview mit Combobox 
Autor: isensa
Datum: 05.03.12 19:50

Hallo

Komisch, das müsste doch gehen. Ich möchte nur bei der Auswahl das eins Angezeigt wird.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Datagridview mit Combobox 
Autor: Manfred X
Datum: 06.03.12 06:38

Hallo!

Ich verstehe nicht, was Du in Zusmamenhang mit einer
"DatagridViewComboBoxColumn"-Spalte mit Vorauswahl meinst?
Wenn Du bei neuen Zeilen einen Default-Wert setzen willst,
kannst Du das in der DataColumn-DefaultValue-Eigenschaft
(Datatable.Columns-Auflistung) einrichten.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Datagridview mit Combobox 
Autor: isensa
Datum: 06.03.12 13:02

Hallo
Ich möchte nur ein Default-Wert im DatagridViewComboBoxColumn.
Wobei auch dieser Wert unterschiedlich ist.
Ich finde unter DataTable den Eintrag nicht wie oben beschrieben.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Datagridview mit Combobox 
Autor: isensa
Datum: 06.03.12 18:55

Hallo

Beitrag wurde zuletzt am 06.03.12 um 18:58:40 editiert.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Datagridview mit Combobox 
Autor: isensa
Datum: 06.03.12 18:57

Hallo
Jetzt bin ich einwenig weiter gekommen. Leider sind alle Combobox mit dem Wert Test beschrieben.
Sollte ja nur die mit dem Wert 1 überschreiben.

For i = 0 To DGV.Rows.Count - 2
 If DGV.Rows(i).Cells(5).Value.ToString = "1" Then
  'Zeile 4
  CityComboColumn.DefaultCellStyle.NullValue = "Test"
 End If
Next
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Datagridview mit Combobox 
Autor: ModeratorFZelle (Moderator)
Datum: 06.03.12 20:19

Evtl solltest du mal versuchen zu verstehen was du da machst.
Du fragst einen Wert einer Zeile ab, setzt aber dann den Wert für die gesamte Spalte.

Wenn du aufhören würdest die Werte im Grid zu benutzen, und DataBinding benutzt und verstehst ist das alles sehr einfach.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Datagridview mit Combobox 
Autor: isensa
Datum: 06.03.12 21:38

Hallo

Seit Tagen versuche ich eine Lösung zu erarbeiten und komme einfach nicht mehr weiter.
http://web217.server8.cshost.ch/Prog/Datenbank_Sqlite.zip
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Datagridview mit Combobox 
Autor: ModeratorDaveS (Moderator)
Datum: 06.03.12 22:19

    Dim Datenbankpfad As String = "Zeiterfassung_2.sqlite"
 
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As _
      System.EventArgs) Handles MyBase.Load
 
        Dim Daten As New DataTable
        Dim sDaten As String = "select * from Stempelzeit where User_id=2"
 
        DGV.AutoGenerateColumns = True
        Daten = ReadDataTable01(Daten, sDaten)
        DGV.DataSource = Daten
 
        Dim CityComboColumn As New DataGridViewComboBoxColumn()
        CityComboColumn.HeaderText = "info"
        CityComboColumn.DataPropertyName = "info"
        CityComboColumn.DisplayIndex = 5
 
        Dim infos As New List(Of Object)
 
        For Each dr As DataRow In Daten.Rows
            Dim val As Object = dr("info")
            If Not infos.Contains(val) Then
                infos.Add(val)
            End If
        Next
 
        CityComboColumn.DataSource = infos
 
        DGV.Columns.RemoveAt(5)
        DGV.Columns.Add(CityComboColumn)
 
    End Sub
 
    Public Function ReadDataTable01(ByVal dt As DataTable, ByVal SelectString _
      As String) As DataTable
        Dim ConnectionString As String = "Data Source=" & Datenbankpfad & ";"
        Try
            Dim da As New SQLite.SQLiteDataAdapter(SelectString, _
              ConnectionString)
            da.Fill(dt)
        Catch ex As Exception
            MessageBox.Show(ex.Message, "Beim Öffnen der Datenbank ist ein " & _
              "Fehler aufgetreten.")
        End Try
        Return dt
    End Function

________
Alle Angaben ohne Gewähr. Keine Haftung für Vorschläge, Tipps oder sonstige Hilfe, falls es schiefgeht, nur Zeit verschwendet oder man sonst nicht zufrieden ist

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Datagridview mit Combobox 
Autor: isensa
Datum: 06.03.12 22:42

Hallo DaveS

Besten Dank. Jetzt geht's.

Brauchts das DataBinding nicht?
Wo liegt der Unterschied?
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Datagridview mit Combobox 
Autor: Manfred X
Datum: 06.03.12 23:56

Hallo!

Du hast im dem Code Datenbindung(en).
Die Datatable ist ans Datagrid gebunden
und die DGV-Combobox ist an eine Liste gebunden.

Aber - wie schon erwähnt - die Combobox
muss mindestens mit den Werten gefüllt werden,
(z.B. hier: aus der Liste) die in der Table-Spalte
drin stehen.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Datagridview mit Combobox 
Autor: ModeratorDaveS (Moderator)
Datum: 07.03.12 08:02

Also, ich hoffe du schaust dir diese "Lösung" genau an und stellst selbst fest was anders ist, sonst macht es wenig Sinn etwas zu posten. Da war ziemlich viel was verbesserungswürdig war. Leider muss man wieder sagen, dass ohne Grundlagen zu kennen wenig Gutes rauskommt.

Allerdings war es spät (für mich!) und ich habe das ganze relativ flüchtig angeschaut. Du willst vermutlich, dass die Werte aus der "Info"-Spalte der "Abwesenheit"-Tabelle dargestellt werden anstatt der numerischen Werte aus der "Daten"-Tabelle "info"-Spalte. Das passiert im folgenden Code.

Man sollte übrigens besser die DGV-Spalten mit Code anlegen anstatt die auto-generierten anschließend anzupassen. Ist nicht wirklich schwierig (code für eine Spalte hast du ja schon).

    Dim Datenbankpfad As String = "Zeiterfassung_2.sqlite"
 
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As _
      System.EventArgs) Handles MyBase.Load
        Dim userid As Integer = 2
 
        Dim Daten As New DataTable("Daten")
        Dim Abwesenheit As New DataTable("Abwesenheit")
        Dim sDaten As String = "select * from Stempelzeit where User_id=?"
        Dim sAbwesenheit As String = "select * from Abwesenheit"
 
        DGV.AutoGenerateColumns = True
        ReadDataTable01(Daten, sDaten, userid)
        ReadDataTable01(Abwesenheit, sAbwesenheit, Nothing)
        DGV.DataSource = Daten
 
        Dim InfoComboColumn As New DataGridViewComboBoxColumn()
        InfoComboColumn.HeaderText = "info"
        InfoComboColumn.DataPropertyName = "info"
        InfoComboColumn.DisplayMember = "Info"
        InfoComboColumn.ValueMember = "Abwesenheit_id"
        InfoComboColumn.DisplayIndex = 5
 
        InfoComboColumn.DataSource = Abwesenheit
 
        DGV.Columns.RemoveAt(5)
        DGV.Columns.Add(InfoComboColumn)
 
    End Sub
 
    Public Sub ReadDataTable01(ByVal dt As DataTable, ByVal SelectString As _
      String, param As Object)
        Dim ConnectionString As String = "Data Source=" & Datenbankpfad & ";"
        Try
            Dim da As New SQLite.SQLiteDataAdapter(SelectString, _
              ConnectionString)
            If param IsNot Nothing Then
                da.SelectCommand.Parameters.AddWithValue("P1", param)
            End If
            da.Fill(dt)
        Catch ex As Exception
            MessageBox.Show(ex.Message, "Beim Öffnen der Datenbank ist ein" & _
              "Fehler" & _
              "aufgetreten.")
        End Try
    End Sub

________
Alle Angaben ohne Gewähr. Keine Haftung für Vorschläge, Tipps oder sonstige Hilfe, falls es schiefgeht, nur Zeit verschwendet oder man sonst nicht zufrieden ist

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Datagridview mit Combobox 
Autor: isensa
Datum: 10.03.12 12:58

Hallo
Besten Dank nochmals. Funktioniert super.
Eine Frage habe ich noch:
Wie kann ich den DateTimePicker in die Datagrideview integrieren?
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Datagridview mit Combobox 
Autor: isensa
Datum: 10.03.12 16:04

Hallo
super geht.

Wieso wird der Value-Wert jetzt direkt im Datagridview geändert?

row.Cells(6).Value = DateTime.Now

Beitrag wurde zuletzt am 10.03.12 um 16:10:59 editiert.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Datagridview mit Combobox 
Autor: ModeratorDaveS (Moderator)
Datum: 10.03.12 20:33

Ich weiß nicht wirklich was du damit meinst.

________
Alle Angaben ohne Gewähr. Keine Haftung für Vorschläge, Tipps oder sonstige Hilfe, falls es schiefgeht, nur Zeit verschwendet oder man sonst nicht zufrieden ist

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