Laden...

Befüllen einer Combobox in externer Combobox-Klasse und Datenbankklasse

Erstellt von dysfunktion vor 7 Jahren Letzter Beitrag vor 7 Jahren 1.927 Views
D
dysfunktion Themenstarter:in
2 Beiträge seit 2016
vor 7 Jahren
Befüllen einer Combobox in externer Combobox-Klasse und Datenbankklasse

Hallo, ich hätte da gerne mal ein Problem.

Ich versuchte gerade alle Comboboxen in einem Programm in eine Klasse "combo" auszulagern. zudem hab ich eine Klasse, die alle Datenbank-Arbeiten erledigt (cDBWorks, objekt hier: cDBObj), von dieser bekomme ich das Datatable als Rückgabewert einer Funktion. Das Problem ist, wenn ich die Daten für meine Combobox in der form.cs direkt anbinde, geht alles. wenn ich es mit einem Verweis auf das Objekt cmb (klasse combo) mache, wird in der Combobox nichts angezeigt. Hab ich vielleicht einen grundsätzlichen Denkfehler gemacht?

Hier jetzt das ganze als Kot:

In der Form:

cmbTitelVerwaltungVersion.DataSource = cDBObj.showVersionen();
cmbTitelVerwaltungVersion.ValueMember = "VID";
cmbTitelVerwaltungVersion.DisplayMember = "Vbezeichnung";

Was ich gerne nur hätte, wäre:

cmbTitelVerwaltungVersion = cmb.cmbVers(cDBObj.showVersionen());

Und in der Kasse combo:

public ComboBox cmbVers(DataTable dt)
        {
            ComboBox VERS = new ComboBox();
            VERS.DataSource = dt;
            VERS.ValueMember = "VID";
            VERS.DisplayMember = "VBezeichnung";
            return VERS;
        }

Klasse cDBWorks:


public DataTable showVersionen()
        {
            ConnectionOpen();
            string sql = "SELECT * FROM Versionen";
            daVersionen = new SqlDataAdapter(sql, conn);
            daVersionen.Fill(ds, "Versionen");
            dtVersionen = ds.Tables["Versionen"];
            ConnectionClose();
            return dtVersionen;
        }
771 Beiträge seit 2009
vor 7 Jahren

Hi,

evtl. Groß-/Kleinschreibung:

"Vbezeichnung" <-> "VBezeichnung"

???

D
dysfunktion Themenstarter:in
2 Beiträge seit 2016
vor 7 Jahren

Thx, aber nein, das wars leider nicht. Keine Ahnung, warum es da einmal klein war. Entweder hab ich den Fehler schon korrigiert und ich erinnere mich nicht mehr daran... Kann eigentlich nur so gewesen sein.

L
770 Beiträge seit 2006
vor 7 Jahren

Muss das Control eventuell den From-Controls hinzugefügt werden da es sich um ein neues Objekt handelt?

lg Lion

771 Beiträge seit 2009
vor 7 Jahren

Hi,

@Lion1984: du meinst Form-Controls? 😁

Ja stimmt, das habe ich ja am Freitag gar nicht gesehen, daß weder der Parent noch die Location richtig gesetzt wird.

@dysfunktion: am besten, du schaust wie es der Designer macht (ich weiß aber nicht wie die Datei bei VB.NET heißt - bei C# ist es "FormX.designer.cs").

Wenn du eine ComboBox auf deiner Form noch siehst, ist es auf jeden Fall nicht die von deinem Code aus erzeugte!