C# Visual Studio 2015 / Combobox

nullfreizeit

Member
ID: 27739
L
1 Januar 2016
7
0
Hallo zusammen,

ich möchte eine Combobox mit manuellen Daten füllen. Das klappt ja auch, nur möchte ich noch ein Value mitgeben das in der Tabelle abgespeichert werden soll. Nur leider will es einfach nicht klappen.
Die Combobox soll einen Wert Typ für die Lagerung "Loose","Kiste" etc. zurückgeben und eben auch nur das anzeigen. Wie bekomme ich das hin? DisplayMember habe ich schon mit "Name" und DisplayValue mit "Id" benannt.

Vielen Dank für eure Unterstützung!

 
2D Array - und dann eben immer nur den Teil, welcher nicht die "ID" enthält hinzufügen.

Code:
using System.Windows.Forms;

namespace combobox
{
    public partial class Form1 : Form
    {
        string[,] array1 = new string[3, 2];

        public Form1()
        {
            InitializeComponent();
            ArrayAnlegenUndFuellen();
            ArrayNachCombobox();
        }

        
        private void ArrayAnlegenUndFuellen()
        {
            array1[0, 0] = "1";
            array1[0, 1] = "ComboBox Inhalt 1";
            array1[1, 0] = "2";
            array1[1, 1] = "ComboBox Inhalt 2";
            array1[2, 0] = "3";
            array1[2, 1] = "ComboBox Inhalt 3";
        }

        private void ArrayNachCombobox()
        {
            for (int i = 0; i < (array1.Length / 2); i++)
            {
                comboBox1.Items.Add(array1[i, 1]);
            }
        }
    }
}

Alternativ ein Dictionary verwenden. Gibt tausende Möglichkeiten :) - darfst eben nicht nur den "grafischen Editor" verwenden.
 
Hallo NeedSomeWeed,

ertappt ;)!
Vielen Dank für die Hilfe!

Hab's mir fast schon gedacht das nicht alles über den Editor geht. Bin gerade dabei mich mit C# vertraut zu machen. Hab auch ein Buch "Einstieg in C# mit Visual Studio 2015" / Rheinwerk Verlag - aber da steht unter Combobox nicht allzuviel, nur ein paar Eigenschaften.
 
Hallo NeedSomeWeed,

nochmal vielen Dank - werde mich mal in die Foren einlesen.
Jetzt klappt es schonmal das er mir alle Einträge anzeigt, allerdings zeigt er in der Combobox immer nur die Werte "1" oder "2"... und nicht die Texte "Kiste" ...
Muss ich da noch etwas ändern? In den Einstellungen der Combobox vll.?

Hatte eben gemerkt, das ich noch nicht das Feld Typ in das DataSet eingefügt hatte.
Die Spalte "Typ" hatte ich erst nachträglich in die Datenbank eingefügt - jetzt ist es drin. Damit kann es aber nicht zutun haben, oder?
 
Ich bin so doof - hatte gar keinen Quelle für die Combobox angegeben. Jetzt tritt allerdings ein Fehler auf. Kann mir jemand sagen was ich hier falsch mache? Danke


 
Das steht bei Zusätzliche Info da. Ein manuelles Bearbeiten von Feldern ist bei einer Bindung nicht möglich.
 
Hallo Martin,

danke - das habe ich auch schon gesehen. Gibt es eine andere Möglichkeit eine Combobox mit einem 2D-Array Wert abzubilden, so das der Wert "0"/"1"... gespeichert und bei Aufruf auch entsprechend mit Bezeichnung angezeigt wird? Bei Access geht es ja auch.
 
Eine Tabelle anlegen, die die Werte enthält und entweder eine Beziehung erstellen oder es muss manuell nachgebildet werden.