Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
Befüllen einer Combobox in externer Combobox-Klasse und Datenbankklasse
dysfunktion
myCSharp.de - Member



Dabei seit:
Beiträge: 2

Themenstarter:

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

beantworten | zitieren | melden

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;
        }
private Nachricht | Beiträge des Benutzers
Cat
myCSharp.de - Member

Avatar #avatar-3070.jpg


Dabei seit:
Beiträge: 790

beantworten | zitieren | melden

Hi,

evtl. Groß-/Kleinschreibung:
"Vbezeichnung" <-> "VBezeichnung"
???
private Nachricht | Beiträge des Benutzers
dysfunktion
myCSharp.de - Member



Dabei seit:
Beiträge: 2

Themenstarter:

beantworten | zitieren | melden

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.
private Nachricht | Beiträge des Benutzers
Lion1984
myCSharp.de - Member



Dabei seit:
Beiträge: 782
Herkunft: Österreich

beantworten | zitieren | melden

Muss das Control eventuell den From-Controls hinzugefügt werden da es sich um ein neues Objekt handelt?
lg Lion
private Nachricht | Beiträge des Benutzers
Cat
myCSharp.de - Member

Avatar #avatar-3070.jpg


Dabei seit:
Beiträge: 790

beantworten | zitieren | melden

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!
private Nachricht | Beiträge des Benutzers