Ich habe Json in Datenbank gespeichert, die ich in Datatable deserialisieren mit Hilfe von Newtonsoft.Json wie dieseWie fügt man Zeilen und Spalten zu einer Datentabelle in einer einzelnen Schleife hinzu?
string jsonString = "[myJsonfromDB....]";
//Deserialize to DataTable
DataTable dtSerialized = (DataTable)JsonConvert.DeserializeObject(jsonString, (typeof(DataTable)));
Was mir so anderen Spalten in Bild führen gibt nicht
gezeigtHier mein Label ist Säule und Wert ist Spaltenwert. Diese beiden Spalten werden in eine neue DataTable verschoben, die ich für meine Operationen weiterverarbeiten werde. Jetzt ist mein Problem, dass ich es in einer Schleife tun möchte, während ich es in mehreren Schleifen mache, d. H. Spalten zuerst hinzufügen (in der ersten Schleife) und dann Spaltenwerte hinzufügen (in der zweiten Schleife). Ich bin es, wie dieses
string colName = string.Empty;
// First Loop to add columns
foreach (DataRow dr in dtSerialized.Rows)
{
if (!string.IsNullOrEmpty(Utility.Instance.ToString(dr["label"])))
{
colName = prefix + "_" + Utility.Instance.ToString(dr["label"]).Replace(" ", string.Empty).Replace("/", "_").Replace("-", "_");
if (!dtResult.Columns.Contains(colName))
dtResult.Columns.Add(colName, typeof(string));
}
}
DataRow drSelect = dtResult.NewRow();
//Second loop to add column values
foreach (DataRow dr in dtSerialized.Rows)
{
if (!string.IsNullOrEmpty(Utility.Instance.ToString(dr["label"])))
{
colName = prefix + "_" + Utility.Instance.ToString(dr["label"]).Replace(" ", "").Replace("/", "_").Replace("-", "_");
drSelect[colName] = dr["value"];
}
}
dtResult.Rows.Add(drSelect);
dsResult.Tables.Add(dtResult);
Danach Derzeit tun Ich habe
Soviel ich weiß, ist, dass der erste DataRow Schema von Datatable erstellt wird und dann können Werte hinzugefügt werden, was klar ist, im obigen Code. Jetzt, Wie kann ich es in einer Schleife tun? Oder sollte ich nach alternativen Methode suchen, die ich nicht weiß, wie dies zu tun ist.
Vielen Dank im Voraus
Sie haben es richtig geraten @JohnG .. es arbeitet mit einer Schleife und leichte Änderungen. Danke –
Sie sind willkommen @ J.SMTBCJ15 froh zu helfen. – JohnG