Delphi-Forum.de Delphi-Library.de
C-Sharp-Forum.de C-Sharp-Library.de
Registrieren Login Suche Hilfe Sitemap
ComboBox Rückgabewert in INT
spacer
Autor Nachricht
Schmido
Hält's aus hier

Beiträge: 10
Dabei seit: 25.02.2010


Win 7
C# (VS 2010)
BeitragVerfasst: So 28.02.10 18:21  Antworten mit Zitat Beitrag melden
Hallo Zusammen,

ich habe eine ComboBox, die automatisch aus einem TableAdapter gefüllt wird.
Hierbei ist Display_Member der textuelle Inhalt und Display_Value die ID aus dem Table_Adapter.
Mit dem Button Speichern soll ein entsprechender Eintrag erzeugt werden, wobei die kategorie_id als INT Wert zu übergeben ist.
Ich komme aber an die Checkbox nur als String heran und mit (int) kann man ja keinen String umwandeln.

ausblenden C#-Quelltext markieren
1:
this.cbbKategorie.SelectedItem.ToString()


Vielen Dank für Tipps und Tricks!
Private Nachricht sendenPosting in privater Nachricht zitieren
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starhalf offtopic starofftopic star
Chefentwickler

Beiträge: 17441
Erhaltene Danke: 95
Dabei seit: 07.07.2002
Wohnort: Server-Souterrain

Win 7
Delphi Prism, C# (VS 2010)
BeitragVerfasst: So 28.02.10 18:37  Antworten mit Zitat Beitrag melden
Von welchem Typ sind denn die Items in der comboBox dann? Kenne mich mit dem TableAdapter nicht wirklich aus. Prinzipiell müsste doch sowas möglich sein:

ausblenden C#-Quelltext markieren
1:
((DerTyp) this.cbbKategorie.SelectedItem).ID


denn die ComboBox hält ja als Items die kompletten Objekte.

_________________
I am of peace. Always.
Private Nachricht sendenPosting in privater Nachricht zitieren Webseite dieses Mitglieds besuchen
Schmido
Hält's aus hier

(Threadstarter)

Beiträge: 10
Dabei seit: 25.02.2010


Win 7
C# (VS 2010)
BeitragVerfasst: Mo 08.03.10 22:09  Antworten mit Zitat Beitrag melden
Hallo,

sorry für meine späte Antwort!
Ne leider gibt es keine ID oder das Feld "Kategorie_id" oder ähnliches.
Daher fragte ich ja :)

Jemand noch Tipps oder Tricks?

Grüße
Private Nachricht sendenPosting in privater Nachricht zitieren
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starhalf offtopic starofftopic star
Chefentwickler

Beiträge: 17441
Erhaltene Danke: 95
Dabei seit: 07.07.2002
Wohnort: Server-Souterrain

Win 7
Delphi Prism, C# (VS 2010)
BeitragVerfasst: Mo 08.03.10 22:13  Antworten mit Zitat Beitrag melden
DisplayMember und DisplayValue verweisen doch aber auf Eigenschaften der Objekte, die in der ComboBox drin sind. Da muss es doch eine Klasse zu geben!

_________________
I am of peace. Always.
Private Nachricht sendenPosting in privater Nachricht zitieren Webseite dieses Mitglieds besuchen
Schmido
Hält's aus hier

(Threadstarter)

Beiträge: 10
Dabei seit: 25.02.2010


Win 7
C# (VS 2010)
BeitragVerfasst: Mo 08.03.10 22:29  Antworten mit Zitat Beitrag melden
Also im TableAdapter sollten ja die Typen der Tabelle sein.
kategorie_id ist INT
kategorie_name ist VARCHAR

Das Display Member und Value stammen aus dem BindingSource.
Aber beide habe ich bisher nirgends finden können.
Private Nachricht sendenPosting in privater Nachricht zitieren
JüTho
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starhalf offtopic star

Beiträge: 2015
Erhaltene Danke: 2
Dabei seit: 24.08.2006
Wohnort: Berlin

Win XP Prof
C# 2.0 (#D für NET 2.0, dazu Firebird); früher Delphi 5 und Delphi 2005 Pro
BeitragVerfasst: Di 09.03.10 10:20  Antworten mit Zitat Beitrag melden
user profile iconSchmido hat folgendes geschrieben Zum zitierten Posting springen:
Das Display Member und Value stammen aus dem BindingSource.
Aber beide habe ich bisher nirgends finden können.

Diese Zuordnungen stehen in der Formular.Designer.cs.

Jürgen
Private Nachricht sendenPosting in privater Nachricht zitieren Webseite dieses Mitglieds besuchen
Schmido
Hält's aus hier

(Threadstarter)

Beiträge: 10
Dabei seit: 25.02.2010


Win 7
C# (VS 2010)
BeitragVerfasst: Di 09.03.10 18:52  Antworten mit Zitat Beitrag melden
Hallo,

super! Darüber sind wir jetzt schonmal weiter:

ausblenden C#-Quelltext markieren
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
            // 
// cbbKategorie
//
this.cbbKategorie.DataBindings.Add(new System.Windows.Forms.Binding("SelectedValue", this.kategorieBindingSource, "kategorie_id", true));
this.cbbKategorie.DataSource = this.kategorieBindingSource;
this.cbbKategorie.DisplayMember = "kategorie_name";
this.cbbKategorie.FormattingEnabled = true;
this.cbbKategorie.Location = new System.Drawing.Point(91, 48);
this.cbbKategorie.Name = "cbbKategorie";
this.cbbKategorie.Size = new System.Drawing.Size(121, 21);
this.cbbKategorie.TabIndex = 2;
this.cbbKategorie.ValueMember = "kategorie_id";
Private Nachricht sendenPosting in privater Nachricht zitieren
Schmido
Hält's aus hier

(Threadstarter)

Beiträge: 10
Dabei seit: 25.02.2010


Win 7
C# (VS 2010)
BeitragVerfasst: Mi 10.03.10 19:52  Antworten mit Zitat Beitrag melden
Noch jemand eine Idee, wie ich nun an die kategorie_id, also den value Wert komme?

Danke! Danke Danke!
Private Nachricht sendenPosting in privater Nachricht zitieren
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starhalf offtopic starofftopic star
Chefentwickler

Beiträge: 17441
Erhaltene Danke: 95
Dabei seit: 07.07.2002
Wohnort: Server-Souterrain

Win 7
Delphi Prism, C# (VS 2010)
BeitragVerfasst: Mi 10.03.10 20:09  Antworten mit Zitat Beitrag melden
Ich hab jetzt mal das Szenario bei mir nachgestellt und im SelectedIndexChanged-Event einfach mal geguckt, von welchem Typ denn das SelectedItem einer solchen ComboBox ist. Das zeigte mir, dass das ein DataRowView ist. Kurz in der Hilfe geguckt: Hat einen Default-Indexer um auf die Spalten zuzugreifen. Bei mir klappt es dann so:
ausblenden Delphi-Prism-Quelltext markieren
1:
2:
3:
4:
5:
  if comboBox1.SelectedItem <> nil then
begin
var drv := DataRowView(comboBox1.SelectedItem);
MessageBox.Show(drv['ID'].ToString);
end;

(Ist zwar Prism, geht in C# dann aber genauso)

//Edit: Noch schöner kam man's machen, wenn man in die richtige Klasse castet:
ausblenden Delphi-Prism-Quelltext markieren
1:
2:
3:
4:
5:
6:
  if comboBox1.SelectedItem <> nil then
begin
var drv := DataRowView(comboBox1.SelectedItem);
var row := websiteDataSet.CategoryRow(drv.Row);
MessageBox.Show(row.ID.ToString);
end;

_________________
I am of peace. Always.
Private Nachricht sendenPosting in privater Nachricht zitieren Webseite dieses Mitglieds besuchen
Werbung ausblenden? Dann registriere Dich kostenlos. Weitere Gründe für eine Registrierung.


Werbung ausblenden? Dann registriere Dich kostenlos. Weitere Gründe für eine Registrierung.
Beiträge vom vorherigen Thema anzeigen:   
home home