| |
VB.NET - Ein- und Umsteigerersten Eintrag anzeigen | | | Autor: Marty** | Datum: 02.06.17 19:32 |
| Hallo,
wie kann ich mir den ersten Eintrag einer DataGridViewComboBoxColumn automatisch anzeigen lassen ? | |
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 | |
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ß | |
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 | |
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 ? | |
Re: ersten Eintrag anzeigen | | | Autor: effeff | Datum: 08.06.17 20:20 |
| Datagridview1.Rows(IndexDeinerRow).cells("Spaltenname").value=DeinIndex EALA FREYA FRESENA | |
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 ? | |
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. | |
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 | |
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 | |
| 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 |
|
|
sevISDN 1.0
Überwachung aller eingehender Anrufe!
Die DLL erkennt alle über die CAPI-Schnittstelle eingehenden Anrufe und teilt Ihnen sogar mit, aus welchem Ortsbereich der Anruf stammt. Weitere Highlights: Online-Rufident, Erkennung der Anrufbehandlung u.v.m. Weitere InfosTipp des Monats sevOutBar 4.0
Vertikale Menüleisten á la Outlook
Erstellen von Outlook ähnlichen Benutzer- interfaces - mit beliebig vielen Gruppen und Symboleinträgen. Moderner OfficeXP-Style mit Farbverläufen, Balloon-Tips, u.v.m. Weitere Infos
|
|
|
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
|
|