verwendetes Datenbanksystem: MS SQL 2005
Hallo zusammen,
über den DataSet Designer greife ich auf eine Tabelle der Datenbank zu.
In einer Spalte möchte ich nun eine Combobox mit den Werten "gut", "schlecht" und "mittel" haben. Könnte ihr mir da weiter helfen, wie ich es schaffe, dass diese immer in der der aktiven Zelle ist?
Viele Grüße
MM
Hallo MrMilk,
für die Combobox gibt es die Eigenschaft "DataSource", in der Du festlegst, welche Datentabelle für das "Binding" herangezogen werden soll. Mit der Eigenschaft "DisplayMember" legst Du daraufhin dann die Spalte fest.
Siehe auch MSDN:
MSDN - ComboBox.DataSource
MSDN - ComboBox.DisplayMember
Alles aber Binding-Grundlagen, die nachzuschlagen wären (Gut, man sieht bei der Menge an Eigenschaften den Wald vor lauter Bäumen nicht mehr 😉
Gruß
Norman-Timo
A: “Wie ist denn das Wetter bei euch?”
B: “Caps Lock.”
A: “Hä?”
B: “Na ja, Shift ohne Ende!”
Hallo norman_timo,
leider meine ich es genau anderes herum. In meinem Dataset möchte ich einer Spalte eine bestimmte auszwahl zuweisen.
Kannst du mir auch hier weiter helfen?
Viele Grüße
MM
Warum würdest man sowas tun sollen? Hol dir halt einfach alle 3 Columns und stell dann im Programm nur eine da.
Shift to the left, shift to the right!
Pop up, push down, byte, byte, byte!
YARRRRRR!
Warum würdest man sowas tun sollen?
Ich hole aus eienr Datenbank eine Tabelle per Dataset. Nun soll der Benutzer aber auch die Möglichkeit haben, neue Datensätze zu ändern bzw. neue anzulegen. In der Spalte XYZ soll es nun so sein, dass nur Werte aus der Menge A mit den Elementen B,C und D möglich sein soll.
Um nun Anaomalien zu vermeiden, habe ich mir überlegt, dass der Benutzer 'im DataGridView' welches über dein 'DataSet' gefüllt wird, von Anfang an nur die Werte B, C und D zur auswahl haben soll.
Leider verstehe ich jetzt deinen Ansatz nicht, kannst du ihn mir genauer erläutern?
Viele Grüße
MM
Hallo MrMilk,
ich bin auch der Meinung, wie GMLOD schon angedeutet hat. Schau, dass Du hier die 3. Normalform verwendest, indem Du die Auswahlmöglichkeit auslagerst und die Auswahl auf die Combobox reflektierst.
Um dann den einzelnen Wert im DataGrid abzuspeichern kannst Du dann die ID-Referenz auf die Auswahl in der DB ablegen. (Ich hoffe das war verständlich ausgedrückt?)
Grüße
Norman-Timo
A: “Wie ist denn das Wetter bei euch?”
B: “Caps Lock.”
A: “Hä?”
B: “Na ja, Shift ohne Ende!”
Hallo norman_timo,
die dritte Normalform ist mir bekannt. Sie vermeidet transitive Abhängigkeiten. Allerdings hat die Spalte nichts mit Fremdschlüsseln oder ID's in irgendeiner weise zu tun.
Ich möchte einfach nur, das ich in der Tabelle zwischen den Werten "jung", "mittel" und "alt" auswählen kann.
Dieses sind statische Werte die auch nie geändert werden.
Viele Grüße
MM
Ja, warum dann nicht einfach eine where-clause mit Parameter angeben für den Select vom TableAdapter?
Den Parameter kannst ja dann von einer beliebigen Quelle aus setzen. Z.B. von einer ComboBox aus oder aus einem Config-File.
Shift to the left, shift to the right!
Pop up, push down, byte, byte, byte!
YARRRRRR!
Hallo,
um etwas konkreter zu werden:*Es gibt eine DataTable mit den eigentlich gewünschten Daten. *Es gibt eine weitere DataTable mit den Nachschlagewerten. *Beide werden über DataRelation (= ForeignKey) miteinander verknüpft. *Das DataGridView benutzt dann DataGridView: Master/Detail über ComboBox
Gruß Jürgen
PS. Du befindest Dich im falschen Unterforum: Das DataGridView gehört zu WinForms, nicht zu Datentechnologien.
Wenn ich das in eine select abfrage lege, dann habe ich die Drop Down Liste nicht beim einfügen neuer daten.
Was? Wenn die Werte eh statisch sind kannst sie ja einfach IRGENDWO reinschreiben, z.B. in eine ComboBox. Und zwar kannste dann auch nur die Werte da reinschreiben, die du dem Nutzer auch zugänglich machen willst.
Shift to the left, shift to the right!
Pop up, push down, byte, byte, byte!
YARRRRRR!
Hallo MrMilk,
zur Not musst Du für die ComboBox das Ereignis bei Neuerstellung von Einträgen abfangen und dann per SQL die Anzeigewertetabelle erweitern und danach das Grid aktualisieren.
Ich denke so ganz einfach und komfortabel wird es nicht gehen.
Grüße
Norman-Timo
A: “Wie ist denn das Wetter bei euch?”
B: “Caps Lock.”
A: “Hä?”
B: “Na ja, Shift ohne Ende!”
Shift to the left, shift to the right!
Pop up, push down, byte, byte, byte!
YARRRRRR!
Hallo MrMilk,
???
-> Dein Zitat:
In einer Spalte möchte ich nun eine Combobox mit den Werten "gut", "schlecht" und "mittel" haben
Gruß
Norman-Timo
A: “Wie ist denn das Wetter bei euch?”
B: “Caps Lock.”
A: “Hä?”
B: “Na ja, Shift ohne Ende!”
Entschuldigung, da habe ich mich sehr sehr schlecht ausgedrückt.
*bekomme_einen_roten_Kopf*
Ich möchte in jeder Zelle innerhalb der bestimmten Spalten eine "Art" ComboBox haben.
viele Grüße
MM
... und dafür gibt es eben die DataGridViewComboBoxColumn; und eine Kurzanleitung habe ich oben angegeben; und alle Hinweise von norman_timo und GMLOD laufen auf das Gleiche hinaus. Jürgen
Hallo MrMilk,
ich verstehe nicht so ganz.
Ich vermute mal folgendes Glaskugelauspack (bin ja ein sehr geduldiger Mensch 😉:
-> also würde ich folgendes vorschlagen:
Ich denke das ist wirklich die einfachste und praktikabelste Lösung (meiner Meinung nach).
Grüße
Norman-Timo
A: “Wie ist denn das Wetter bei euch?”
B: “Caps Lock.”
A: “Hä?”
B: “Na ja, Shift ohne Ende!”
Hallo,
ich habe alles einmal überschlafen um nicht noch weiteren Unsinn zu posten.
@norman_timo:
Du hast den Nagel fast auf den Kopf getroffen. Am besten probiere ich es einmal ein so zu beschreiben.
Ich habe die Tabelle Auto mit den Merkmalen ID_Auto, Farbe,... und eben auch dem Merkmal 'Marke'.
Die Marke ist immer aus der Menge {"VW","BMW","Audi"}.
Jetzt soll beim anklicken einer Zelle (Welche zu der Spalte Marke) gehört, eine Aufklappliste erscheinen, wo ich immer nur zwischen diesen dreien wählen kann.
Wieso das ganze? In der Praxis wurde sich bei den Werten immer vertippt und ich möcht dieses so unterbinden.
Muss ich dafür nun auch eine extra Tabelle anlegen?
Bzw. gibt es eine Lösung ohne das neue anlegen?
Viele Grüße
MM