Laden...

combobox Value

Erstellt von w1z4rd2003 vor 17 Jahren Letzter Beitrag vor 17 Jahren 1.658 Views
w1z4rd2003 Themenstarter:in
624 Beiträge seit 2006
vor 17 Jahren
combobox Value

Hallo

Mit cmbBox.SelectedValue kann man ja den value des selektierten Item auslesen.

ich möchte das ich jedes Value auslesen kann sodass sie z.B mit einer MessageBox der Reihe nach ausgegeben werden.

gibt es da nicht irgend eine Methode die ich in dieser Schleife einbauen kann?


int anzahl_items = cmbBox.Items.Count;

for (int i=0; i<k; i++){
                MessageBox.Show(cmbBox.Items[i].........ToString());
}

mfg

563 Beiträge seit 2004
vor 17 Jahren

Was soll denn diese Methode machen? Verstehe nicht warum du eine Methode willst, für sowas sind doch Collections?

.unreal

1.665 Beiträge seit 2006
vor 17 Jahren

Einfach nur die Items der ComboBox durchlaufen.. 🤔


string message = String.Empty;
foreach (ComboBoxListItem item in comboBox.Items)
{
    message += item.Text + Environment.NewLine;
}

MessageBox.Show(message);
w1z4rd2003 Themenstarter:in
624 Beiträge seit 2006
vor 17 Jahren

ja aber anstatt die Items zu durchlaufen will ich die Values der Items durchlaufen.

die combobox ist an einem dataSet verbunden. Der Displaymember ist tblTabelle1.Spalte und der ValueMember ist tblTabelle1.PK_SpalteID

ich möchte die Values durchlaufen anstatt die Items. Aber da ich bis jetzt nur die Methode SelectedValue gefunden habe frage ich nach.
irgend eine methode wie cmbBox.Items_.Value oder so irgendwas brauche ich.

1.665 Beiträge seit 2006
vor 17 Jahren
foreach (string value in <ComboBox>.ValueMember)
{
    ...
}

Du hast so ein schönes Intellisense, schau dir die Möglichkeiten an.
Jetzt hast du das Value im Zugriff und kannst es ausgeben.

w1z4rd2003 Themenstarter:in
624 Beiträge seit 2006
vor 17 Jahren

hi danke

bekomme aber die meldung das ich nicht den typ char in string konvertieren kann.


foreach (string value in combobox1.ValueMember)
{
    MessageBox.Show(combobox1.ValueMemeber)
}

M
1.439 Beiträge seit 2005
vor 17 Jahren

Weil ValueMenber auch nur ein String ist.
Ich kenne da leider kein Property, das dir die Values liefert.

563 Beiträge seit 2004
vor 17 Jahren

Original von JunkyXL

foreach (string value in <ComboBox>.ValueMember)  
{  
    ...  
}  

Du hast so ein schönes Intellisense, schau dir die Möglichkeiten an.
Jetzt hast du das Value im Zugriff und kannst es ausgeben.

ValueMember wird für das DataBinding benötigt und hat überhaupt nichts mit dem Value eines Items zu tun.

Aber da ich bis jetzt nur die Methode SelectedValue gefunden habe frage ich nach.

SelectedValue ist ein Property und keine Methode

Warum willst du die Values über die ComboBox durchiterieren? Ich bin nicht gerade der ComboBox auskenner, aber ich wage es mal zu behaupten, dass man das gar nicht braucht. Grundsätzlich tut man solche Interaktionen auf der Datenebene. Wie hast du die Daten an die Combobox gebunden? Schau dir mal die Klasse BindingSource an -> "Encapsulates the data source for a form.", mit der kannst du suchen und grübeln nach Lust und Laune 🙂.

Gruss,
.unreal

w1z4rd2003 Themenstarter:in
624 Beiträge seit 2006
vor 17 Jahren

hi .unreal

mein ziel wäre es eben im load meines Fensters alle Values auszulesen.

aber danke für dein Tipp!

mfg
w1z4rd

563 Beiträge seit 2004
vor 17 Jahren

Original von w1z4rd2003
mein ziel wäre es eben im load meines Fensters alle Values auszulesen.

Die hast du ja in der DataTable, warum willst du diese (nochmals)auslesen ? Die sind ja bereits "da" 🙂. Erklär uns, warum du das willst, wahrscheindlich können wir dir dann viel besser helfen, aber ein drittes mal Frage ich nicht nach.

Gruss,
.unreal

w1z4rd2003 Themenstarter:in
624 Beiträge seit 2006
vor 17 Jahren

hi .unreal

war warscheinlich ein falscher ansatz von mir.. habe es anders gelöst!

vielleicht kannst du mir weiterhelfen.. habe ein neues problem.

in der combobox wähle ich ein item aus. Nehmen wir mal an ich nehme ein Item mit dem Value 200.

In einer tabelle in meiner db habe ich folgende Datenstruktur

Spalte 1 , Spalte 2, Spalte 3, PK_Spalte4

in PK_Spalte 4 hat es 20 datensätze die den Value 200 beiinhalten. ich möchte jetzt genau nur diese 20 datensätze in einem datagrid auslesen.

ein datagrid mit einem adapter und einem datasetz habe ich bereits. Momentan wird aber einfach die ganze tabelle selektiert und im dg angezeigt

563 Beiträge seit 2004
vor 17 Jahren

http://msdn2.microsoft.com/en-us/library/c12c1kx4.aspx müsste dir weiterhelfen.

Der Knackpunkt ist wohl:

The DataMember property of the second BindingSource is set to the DataRelation name. This causes the associated detail DataGridView control to display the rows of the child Orders table that correspond to the current row in the master DataGridView control.

Gruss,
.unreal

w1z4rd2003 Themenstarter:in
624 Beiträge seit 2006
vor 17 Jahren

thx 😉