Laden...

ComboBox in Methode füllen

Erstellt von ganymedes vor 16 Jahren Letzter Beitrag vor 16 Jahren 10.336 Views
G
ganymedes Themenstarter:in
219 Beiträge seit 2007
vor 16 Jahren
ComboBox in Methode füllen

Ich möchte eine Methode machen die meine ComboBox abfüllt.

Ich möchte also der Methode das SQL statement und den DysplayMember als string übergeben.

Soweit so gut. Aber wie übergebe ich nun die ComboBox die abgefüllt werden soll? (Die Methode soll ja für mehrere ComboBoxen genutzt werden können).


private void setValuesInCb(hier möchte ich die ComboBox angeben X,string strSql,string strDM)
{
X.DataSource = setValues("SELECT * FROM Y";);
X.DisplayMember = "XYZ";
}

49.485 Beiträge seit 2005
vor 16 Jahren

Hallo ganymedes,

wie alle anderen Typen von Parametern auch:

private void setValuesInCb(ComboBox X, string strSql,string strDM)

herbivore

G
ganymedes Themenstarter:in
219 Beiträge seit 2007
vor 16 Jahren

Nein, das habe ich schon versucht.....


setValuesInCb(cb_TicketNummer,"SELECT * FROM XYZ","XYQ");

aber da kommt nur System.Windows.Forms.ComboBox daher...

Da steht also:


System.Windows.Forms.ComboBox.DataSource

und nicht:


cb_TicketNummer.DataSource

49.485 Beiträge seit 2005
vor 16 Jahren

Hallo ganymedes,

natürlich geht das. Ob du eine ComboBox oder einen String übergibst spielt von Prinzip her keine Rolle.

Wenn der Parameter X heißt, dann muss in der Methode natürlich X.DataSource = ... stehen.

herbivore

G
ganymedes Themenstarter:in
219 Beiträge seit 2007
vor 16 Jahren

Ja klar, habe ich auch...aber da kommt kein Wert daher....

habe ich ja ganz am Anfang schon so geschrieben....

  
X.DataSource = setValues("SELECT * FROM Y";);  
X.DisplayMember = "XYZ";  
  

aber bei mir geht das nicht....was mache ich wohl falsch??

49.485 Beiträge seit 2005
vor 16 Jahren

Hallo ganymedes,

aber bei mir geht das nicht [Hinweis] Wie poste ich richtig? Punkt 5

herbivore

G
ganymedes Themenstarter:in
219 Beiträge seit 2007
vor 16 Jahren

Die Übergabe funktioniert, aber der Fehler tritt bei der Zuweisung von ValueMember auf.

Es kommt folgende Fehlermeldung:

An den neuen Anzeigemember kann nicht gebunden werden.
Parametername: newDisplayMember

49.485 Beiträge seit 2005
vor 16 Jahren

Hallo ganymedes,

naja, das ist doch eine klare Fehlermeldung. Vermutlich enthalten die Objekte, die du an die ComboBox bindest keine Property newDisplayMember.

herbivore

G
ganymedes Themenstarter:in
219 Beiträge seit 2007
vor 16 Jahren

Hallo herbivore

?( ?(

naja, das ist doch eine klare Fehlermeldung. Vermutlich enthalten die Objekte, die du an die ComboBox bindest keine Property newDisplayMember.

?( ?( und was heisst das?

49.485 Beiträge seit 2005
vor 16 Jahren

Hallo ganymedes,

also, sorry, wirklich. Klarer kann ich es nun wirklich nicht mehr schreiben.

Ich denke mal, du solltest erstmal einen Schritt zurücktreten und dir die Grundlagen aneignen, z.B. in dem du Galileo <openbook>: Visual C# 2005 von Andreas Kühnelg gründlich durcharbeitest. In diesem Zusammenhang insbesondere die Abschnitte über DataBinding. Wir erwarten das von dir.

herbivore

O
77 Beiträge seit 2006
vor 16 Jahren

übergib doch einfach die combobox per referenz


setValuesInCb(ref cb_TicketNummer,"SELECT * FROM XYZ","XYQ");

und befüll sie dann in der methode mit deinem selectstatement

siehe [Artikel] C# und Übergabemechanismen: call by value vs. call by reference (ref/out)

Obstehende Probleme können häufig miserabel Formuliert und dadurch extrem unverständlich sein

49.485 Beiträge seit 2005
vor 16 Jahren

Hallo odysy,

das ist vollkommen unnötig und wäre sogar irreführend, weil ComboBox schon ein Referenztyp ist.

herbivore

O
77 Beiträge seit 2006
vor 16 Jahren

Ok das wusste ich bisher selbst noch nicht

Obstehende Probleme können häufig miserabel Formuliert und dadurch extrem unverständlich sein

G
ganymedes Themenstarter:in
219 Beiträge seit 2007
vor 16 Jahren

Also wie nun?

49.485 Beiträge seit 2005
vor 16 Jahren

Hallo ganymedes,

nein, lass es bitte. Wie ich schon schrieb:

das ist vollkommen unnötig und wäre sogar irreführend, weil ComboBox schon ein Referenztyp ist.

herbivore