Записываю на C # только 2 месяца: у меня есть результат словаря типа: Dictionary<string, Dictionary<string, decimal>>
Мне удалось консольно записать его следующим образом:
R&D
Trainer 3000
Developer 6000
Consultant 0
Dev
Trainer 0
Developer 4000
Consultant 5000
Как видите, внутренний словарь имеет те же «ключи».Я попытался поместить их в dataTable с помощью:
var columns = l.GroupBy(d => d.Department, (key, items) => key).ToList();
dt.Columns.Add("Function");
foreach (var column in columns)
dt.Columns.Add(column);
foreach (var dict in result2)
{
Console.WriteLine(dict.Key );
foreach (var dict2 in dict.Value)
{
DataRow row2 = dt.NewRow();
row2["Function"] = dict2.Key;
row2[dict.Key] = dict2.Value;
dt.Rows.Add(row2);
Console.WriteLine(" " + dict2.Key + "\t" + dict2.Value);
}
}
Результат dataTable в GridView:
|---------------------|--------------|-------------|
| Function | R&D | Dev |
|---------------------|--------------|-------------|
| Trainer | 3000 | |
|---------------------|--------------|-------------|
| Developer | 6000 | |
|---------------------|--------------|-------------|
| Consultant | 0 | |
|---------------------|--------------|-------------|
| Trainer | | 0 |
|---------------------|--------------|-------------|
| Developer | | 4000 |
|---------------------|--------------|-------------|
| Consultant | | 5000 |
|---------------------|--------------|-------------|
Предпочтительный результат:
|---------------------|--------------|-------------|
| Function | R&D | Dev |
|---------------------|--------------|-------------|
| Trainer | 3000 | 0 |
|---------------------|--------------|-------------|
| Developer | 6000 | 4000 |
|---------------------|--------------|-------------|
| Consultant | 0 | 5000 |
|---------------------|--------------|-------------|
Я хочу либозаполнить 1-й столбец dataTable различными ключами внутреннего словаря и заполнить другие столбцы на его основе или создать требуемый dataTable на основе исходного dataTable.Любая помощь будет оценена.