Hallo,
mit nachfolgendem Code gehe ich eine DataGridView durch, erstelle DataTables mit den abgefragten Zellennamen und addiere diese zu einem DataSet, alles mit foreach. Aber: Das DataSet enthält bei Abfrage nur die Table[0]. Was ist falsch ?
Danke für eine Antwort.
Hier der Code:
{
DataSet ds = new DataSet();
XElement xElement = XElement.Load("TEST.xml");
var E = (from el in xElement.Descendants("Table")
select new
{
Name = (string)el.Element("Name").Value,
URL = (string)el.Element("URL").Value
});
dataGridView1.DataSource = E.ToList();
foreach (DataGridViewRow row in dataGridView1.Rows)
{
DataTable dt = new DataTable(row.Cells[0].Value.ToString());
string s = row.Cells[1].Value.ToString();
IEnumerable<XElement> variableColumns = xElement.Descendants("Table").Single
(el => el.Element("URL").Value == s).Descendants("VariableColumn");
var q = from ex in variableColumns
select new { Name = ex.Element("Name").Value.ToString() };
foreach (var item in q.ToList())
{
dt.Columns.Add(item.Name.ToString());
}
ds.Tables.Add(dt);
}
}
}
}
mit nachfolgendem Code gehe ich eine DataGridView durch, erstelle DataTables mit den abgefragten Zellennamen und addiere diese zu einem DataSet, alles mit foreach. Aber: Das DataSet enthält bei Abfrage nur die Table[0]. Was ist falsch ?
Danke für eine Antwort.
Hier der Code:
{
DataSet ds = new DataSet();
XElement xElement = XElement.Load("TEST.xml");
var E = (from el in xElement.Descendants("Table")
select new
{
Name = (string)el.Element("Name").Value,
URL = (string)el.Element("URL").Value
});
dataGridView1.DataSource = E.ToList();
foreach (DataGridViewRow row in dataGridView1.Rows)
{
DataTable dt = new DataTable(row.Cells[0].Value.ToString());
string s = row.Cells[1].Value.ToString();
IEnumerable<XElement> variableColumns = xElement.Descendants("Table").Single
(el => el.Element("URL").Value == s).Descendants("VariableColumn");
var q = from ex in variableColumns
select new { Name = ex.Element("Name").Value.ToString() };
foreach (var item in q.ToList())
{
dt.Columns.Add(item.Name.ToString());
}
ds.Tables.Add(dt);
}
}
}
}
Comment