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-2024
 
zurück

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

VB.NET - Ein- und Umsteiger
ersten Eintrag anzeigen 
Autor: Marty**
Datum: 02.06.17 19:32

Hallo,

wie kann ich mir den ersten Eintrag einer DataGridViewComboBoxColumn automatisch anzeigen lassen ?
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: ersten Eintrag anzeigen 
Autor: effeff
Datum: 06.06.17 21:31

Die Daten für Deine ComboBox müssen ja irgendwoher kommen. Du nimmst dann eben den Index 0 dieser DataTableColumn...

EALA FREYA FRESENA

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: ersten Eintrag anzeigen 
Autor: Marty**
Datum: 07.06.17 17:09

Hallo,

https://picload.org/view/riigalow/datagridviewcomboboxcolumn.jpg.html

die Daten sollen aus der Auflistung kommen. Leider weis ich nicht wie ich sie ansprechen kann.

Bei einer normalen Combobox geht es ja über

Combobox1.SelectedIndex = 0
Nur wenn die Combobox eben im Datagrid ist, weis ich nicht wie es geht.

Gruß
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: ersten Eintrag anzeigen 
Autor: effeff
Datum: 07.06.17 18:26

Also:

Normalerweise hast Du in einem DataGridView eine DataTable, die Du daran gebunden hast, und deren Daten dort angezeigt werden. Eine der Spalten davon ist dann eben ein Fremdschlüssel, der auf in einer anderen DataTable der Primärschlüssel ist. Anhand des Wertes in der ersten DataTable wird zwangsläufig der richtige Wert aus der zweiten DataTable angezeigt.

Hast Du die Daten im DataGridView in einer DataTable?

Wenn Du die Daten direkt im DataGridView hast, kann Dir das hier weiter helfen: https://www.microsoft.com/germany/msdn/solve/knowhow/howto/cliententwicklung/WieZeigeIchInEinemDataGridViewInDenZellenEinerSpalteEineAuswahllisteAn.aspx

Den ersten Eintrag erhältst Du, indem Du durch alle Rows iterierst und den Index auf 0 setzt.

EALA FREYA FRESENA

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: ersten Eintrag anzeigen 
Autor: Marty**
Datum: 08.06.17 16:51

Hallo,

das Beispiel ist schon ganz gut.

Dgv As New DataGridView
 
Private Sub Form1_Load(ByVal sender As System.Object,
        ByVal e As System.EventArgs) Handles MyBase.Load
 
	Dim TextBoxSpalte As DataGridViewTextBoxColumn
	Dim ComboBoxSpalte As DataGridViewComboBoxColumn
 
	' TextBox-Spalten hinzufügen
	ComboBoxSpalte = New DataGridViewComboBoxColumn
	ComboBoxSpalte.HeaderText = "Niederlassung"
	ComboBoxSpalte.Name = "Niederlassung"
	ComboBoxSpalte.Items.AddRange( _
	  New String() {"Berlin", "Köln", "München"})
	Dgv.Columns.Add(ComboBoxSpalte)
 
	   ' Zeilen hinzufügen
 
	Dgv.Dock = DockStyle.Fill
	Me.Controls.Add(Dgv)
End Sub
Aber wie bekomme ich es hin, das Berlin gleich beim starten angezeigt wird ?
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: ersten Eintrag anzeigen 
Autor: effeff
Datum: 08.06.17 20:20

Datagridview1.Rows(IndexDeinerRow).cells("Spaltenname").value=DeinIndex

EALA FREYA FRESENA

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: ersten Eintrag anzeigen 
Autor: Marty**
Datum: 11.06.17 21:48

Sollte ja dann so aussehen:

Datagridview1.Rows(0).cells("Niederlassung").value=0
funktioniert aber leider nicht ....

Oder wo ist mein Fehler ?
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: ersten Eintrag anzeigen 
Autor: Manfred X
Datum: 12.06.17 07:45

Hallo!

Definiere zunächst was "erster Eintrag" bedeutet.

Geht es um die Position
- die aktuell erste Zeile im Grid-Control
(abhängig von Sortieren, Filtern, Sichtbarkeit der Zeilen etc.)
- die erste Zeile, die am Screen aktuell sichtbar ist (FirstDisplayed)
- die erste Zeile in der angebundenen Datenquelle
- die erste Zeile, anhängig von einem Daten-Kriterium (z.B. kleinster Spalten-Wert)

Oder willst Du in jeder (neuen) Zeile den gleichen Defaultwert eintragen?
In dem Fall könnte dieser Wert als Defaultwert der Spalte festgelegt werden.
dgv.Columns("Niederlassung").DefaultCellStyle.NullValue = "Berlin"


Beitrag wurde zuletzt am 12.06.17 um 07:56:56 editiert.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Defaultwert in Datenspalte 
Autor: Manfred X
Datum: 12.06.17 09:09

Ich vermute, Du meinst so etwas ....
Public Class frmDataGridComboboxColumn
 
    Dim dgv As New DataGridView With _
        {.Parent = Me, .Height = 300, .AllowUserToAddRows = False}
    Dim WithEvents dt As New DataTable
    Dim WithEvents bs As New BindingSource
 
    Dim WithEvents btnNew As New Button With _
    {.Parent = Me, .Top = dgv.Height + 10, .Text = "New"}
 
    Dim WithEvents btnList As New Button With _
        {.Parent = Me, .Top = btnNew.top, .Left = btnNew.width + 10, .Text = _
        "List"}
 
 
    Private Sub frmDataGridComboboxColumn_Load(sender As System.Object, _
                                        e As System.EventArgs) Handles _
                                        MyBase.Load
 
        Me.Size = New Size(300, 400)
 
        Dim ComboBoxSpalte As New DataGridViewComboBoxColumn
 
        With ComboBoxSpalte
            .HeaderText = "Niederlassung"
            .Name = "Niederlassung"
            .Items.AddRange( _
              New String() {"Berlin", "Köln", "München"})
        End With
 
        dgv.Columns.Add(ComboBoxSpalte)
 
        ' Zuordnung Control-Spalte -> Quell-Spalte
        dgv.Columns(0).DataPropertyName = "Stadt"
 
        'Testdaten
        dt.Columns.Add("Stadt")
 
        dt.Rows.Add("Köln")
        dt.Rows.Add("München")
 
        'Datenbindung
        bs.DataSource = dt
        dgv.DataSource = bs
 
    End Sub
 
 
    Private Sub btnNew_Click(sender As Object, _
            e As System.EventArgs) Handles btnNew.Click
 
        dt.Rows.Add("Berlin") 'neue Quell-Zeile mit Defaultwert
        bs.Position = bs.Count - 1
    End Sub
 
 
    Private Sub btnList_Click(sender As Object, _
        e As System.EventArgs) Handles btnList.Click
 
        'Spalteninhalt auflisten  
        For i As Integer = 0 To dt.Rows.Count - 1
            Dim vl As String = dt.Rows(i)(0).ToString
            If vl = "" Then vl = "null"
            Console.WriteLine(i.ToString & "/" & vl)
        Next i
    End Sub
End Class
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: ersten Eintrag anzeigen 
Autor: effeff
Datum: 12.06.17 17:43

Hm... Stimmt! Du kannst aber damit prima den Text einsetzen, den Du dort haben möchtest aus der ComboBox:

DataGridView1.Rows(0).Cells("DeineSpalte").Value = "Irgendwas"

EALA FREYA FRESENA

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