Autor Beitrag
PANUE90
Hält's aus hier
Beiträge: 2

Windows XP

BeitragVerfasst: Mi 07.05.08 08:06 
Hallo Leute,

Ich bearbeite zur Zeit ein C#-Projekt mit Anbindung an einer MS-Access-Datenbank und hab bezüglich Belegung einer Combobox folgendes Anliegen:

In der Access-Tabelle befinden sich folgende Einträge, die in das Projekt geladen wird
ANW BEZEICHNUNG
-----------------------------------------------
11010 Elektrotechnik AC Spannung 400 V
11030 Elektrotechnik AC Spannung 690 V
11050 Elektrotechnik AC Spannung 6 kV
11060 Elektrotechnik AC Spannung 10 kV
etc....

Mein Anliegen:
in der Combobox soll die Bezeichnung angezeigt werden, die ANW soll in der CBO indiziert werden.

Der DropdownStyle ist in DropdownList eingestellt, da keine Einträge von Hand aus gemacht werden soll.

LG aus Erlangen

Peter Albrecht
bakachan
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 503
Erhaltene Danke: 34

W7 (x64) Ultimate
C# / VB.NET (VS2010 Ultimate)
BeitragVerfasst: Mi 07.05.08 08:17 
Hallo PANUE90,
was genau ist nun deine Frage oder dein Problem?
PANUE90 Threadstarter
Hält's aus hier
Beiträge: 2

Windows XP

BeitragVerfasst: Mi 07.05.08 08:40 
Titel: Combobox Index
In Visual Basic 6.0 funktioniert dies gemäß dieser Routine

ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
Private Sub loadCboTabellen(sql$, cbo As ComboBox)
   Dim rst As Recordset
   Set rst = dbs.Execute(sql)
   With cbo
       .Clear
       Do Until rst.EOF
       .AddItem (vartoStr(rst!tableBez))   //hier Bezeichnung "Elektrotechnik AC Spannung 400 V"
       .ItemData(.NewIndex) = vartoID(rst!ID_Table)  //hier ANW (als Index) 11010
       rst.MoveNext
       Loop
   End With
   Call closeRec(rst)
End Sub

In C#

ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
if ((m_indexKomp == CFunctions.cBID_Antrieb) || (m_indexKomp == CFunctions.cBID_Geber))
            {
                //Startindex
                //this.cboANW.Items.Add("Zuweisung nicht möglich");
                this.cboANW.Items.Add(CVarManager.ID_UNDEFINED.ToString());

                int i = 0;
                foreach (DataRow dr in dt.Rows)
                {
                    this.cboANW.Items.Add(dr["BEZEICHNUNG"].ToString());   //Bezeichnungen
                    //this.cboANW. ???? dr["ANW"].ToString())   //zugeordnete Indizes aus der Tabelle
                    i++;                                                       
                }
            }
            else
            {
                
                this.cboANW.Items.Add(CFunctions.cAnwBZ_ET);    //Bezeichnungen
                //this.cboANW. ???? CFunctions.cAnwID_ET)       //zugeordnete Indizes aus der Tabelle
                this.cboANW.Items.Add(CFunctions.cAnwBZ_LT);
                //this.cboANW. ???? CFunctions.cAnwID_LT)
                this.cboANW.Items.Add(CFunctions.cAnwBZ_EL);
                //this.cboANW. ???? CFunctions.cAnwID_EL)
            }



LG Peter

Moderiert von user profile iconKlabautermann: Code- und CS-Tags eingefügt.
Einloggen, um Attachments anzusehen!


Zuletzt bearbeitet von PANUE90 am Mi 07.05.08 10:29, insgesamt 2-mal bearbeitet
JüTho
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2021
Erhaltene Danke: 6

Win XP Prof
C# 2.0 (#D für NET 2.0, dazu Firebird); früher Delphi 5 und Delphi 2005 Pro
BeitragVerfasst: Mi 07.05.08 09:40 
Am liebsten würde ich bakachans Frage wiederholen: Was ist eigentlich Dein Problem?

Wahrscheinlich solltest Du in der SDK-Doku nachlesen, wozu bei einer ComboBox DataSource, ValueMember, DisplayMember, SelectedValue vorgesehen sind. Ordne diese Eigenschaften passend auf Deine Daten - fertig.

Jürgen

PS. Markiere Code, das liest sich besser: Textbereich markieren, "Bereiche"-Button drücken, das Plus neben "C#" drücken. Das kannst Du auch nachträglich erledigen, indem Du den früheren Beitrag änderst.