Wie definieren Sie einen Datentyp der Spalte in der DataTable?
Habe ich eine Anforderung zu speichern, die einige Daten in einer datatable. Die Spalten in der Tabelle sind:
-ID
-Text
-Wert
-Datentyp
Wie soll ich das definieren die Spalten der Tabelle, so dass der Datentyp-Spalte speichert native und composite-Typen?
Derzeit bin ich der Speicherung als
dt.Columns.Add(new DataColumn("Id", typeof(int)));
dt.Columns.Add(new DataColumn("Text", typeof(string)));
dt.Columns.Add(new DataColumn("Value", typeof(string)));
dt.Columns.Add(new DataColumn("DataType", typeof(string)));
Später in meinem Programm versuche ich zu analysieren, die Werte und je nach Datentyp zeige ich die Kontrolle. Wie, wenn der Datentyp int zeigt dann textbox, wenn bool dann zeige dropdown.
Ich bin sicher, dass es ein einfacher Weg, dies zu tun. Bitte vorschlagen, wie diese Funktionalität zu erreichen? Beispiel-code wird mir helfen, verstehen Sie es besser. Danke!
- Es sollte so funktionieren. Was ist das problem?
- Lassen Sie mich erklären, wieder konnte ich nicht vor. Ich möchte eine Möglichkeit zum bestimmen der Datentyp gespeichert, entweder in der datatable-Spalte oder zu vereinfachen, in eine string-variable. Wie string sType = "System.Boolean". Einmal festgelegt, dann werde ich das Steuerelement (Textfeld, dropdown etc). Aber auch ich, möchten, füllen Sie die Steuerung mit standard-Werten. Zum Beispiel: Wenn es boolean Typ dann, ich brauche das dropdown zu haben, wahr und falsch-Werte. Hat die variable "System.Zeichnung.Farbe", dann die dropdown-sollten alle system-Farben. Ich habe einen code, die dies tun, genau, aber statt einer datatable habe ich eine Klasse Objekt.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Erstellen von Spalten wie Datentyp und der Wert in einer
DataColumn
oder DBMS ist in der Regel symptomatisch für die Innere-Plattform-Effekt, wo Sie versuchen, erstellen Sie eine typisierte Datenbank in Ihre Datenbank eingegeben, durch ignorieren die type-Definitionen in der Datenbank.Nicht.
DataColumn
s unterstützen bereits eingegeben Daten, das Abfragen von schema-und Fügeverfahren sowie Tabellen mit heterogenen Daten. Speichern von int-Werte als int-Werte , Boolesche Werte als Boolesche Werte, und Sie müssen nicht alles analysieren. Bestimmen Sie den Datentyp einerDataColumn
mit:Können Sie stellen Sie den code ein wenig einfacher, indem Sie Folgendes tun:
Gibt es keine Notwendigkeit, die datacolumn-Konstruktor.
So, Sie sind wirklich schaffen irgendeine Art von authoring-tool. Definieren Sie die Datentypen in einer Datenbank und erstellen Sie dann die Steuerelemente auf der fly, wenn anschließend die Daten gelesen?
Ok, also eher als Speicher die default Werte (true, false) in der Datenbank, was etwa die Speicherung in der Steuerung. Zum Beispiel haben Sie jetzt eine checkbox, müssen default-Werte sind true/false, Ein txtbax hat default-Werte des blank etc.
Oder, yu erweitern, Ihre Datenbank zu halten, eine Liste der möglichen Werte für ein Feld. Damit meine ich, dass Sie vielleicht eine Zeile, die liest
Id=5, Text='Selected'. Value= "False" Type= " System.Boolean'
Dann in einer anderen Tabelle
Id=5, Value=True, default=false
Id=5, Value=false default=true
oder, für einen string, der
Id=5, Text='Selected'. Value='UK', Typ='System.Text'
Id=5, Value='UK', default=true
id=5, value='USA', default=false
Wenn Sie dies tun, dann löschen Sie den Wert aus der ersten Tabelle..
Nicht völlig sicher, dass das hilft?