Отображение информации из массива в DataGrid

239
13 апреля 2017, 15:31

Не могу разобраться как выводить данные из трёхмерного массива в DataGrid. Получаю данные из БД в массив вида:

[0]{id, int, string1, {int1, int2, int3,...}}
[1]{id, int, string1, {int1, int2, int3,...}}
...

Нужно вывести всё это в таблицу вида

| string1 | int1 | int2 | int3 | ... |
| string1 | int1 | int2 | int3 | ... |

Пробовал использовать

DataGrid.ItemsSource = Array;

Неполучается:

Answer 1

Как вариант, как подсказывают в комментариях, можно переопределить шаблон для столбцов.

<DataGrid AutoGenerateColumns="False" ItemsSource="{Binding Array}">
    <DataGrid.Columns>
        <DataGridTextColumn Header="Length" Binding="{Binding Length}"/>
        <DataGridTextColumn Header="LongLength" Binding="{Binding LongLength}"/>
        <DataGridTextColumn Header="Rank" Binding="{Binding Rank}"/>
        <DataGridTemplateColumn Header="SyncRoot">
            <DataGridTemplateColumn.CellTemplate>
                <DataTemplate>
                    <ItemsControl ItemsSource="{Binding SyncRoot}">
                        <ItemsControl.ItemTemplate>
                            <DataTemplate>
                                <TextBlock Text="{Binding }"/>
                            </DataTemplate>
                        </ItemsControl.ItemTemplate>
                        <ItemsControl.ItemsPanel>
                        <ItemsPanelTemplate>
                            <StackPanel Orientation="Horizontal"/>
                        </ItemsPanelTemplate>
                     </ItemsControl.ItemsPanel>
                 </ItemsControl>
             </DataTemplate>
         </DataGridTemplateColumn.CellTemplate>                    
     </DataGridTemplateColumn>
     <!-- Остальные колонки по-такому же принципу -->
   </DataGrid.Columns>
</DataGrid>
READ ALSO
Не срабатывает Equals

Не срабатывает Equals

Данное условие почему-то возвращает false, не сравнивается ни с помощью equals, ни с помощью ==Как следствие, неправильно работает linq

192
Chart C# Заменить числа на Ох (1,2,3&hellip;) на (Pi/2,Pi,&hellip;)

Chart C# Заменить числа на Ох (1,2,3…) на (Pi/2,Pi,…)

Сам интервал мы меняем chart1ChartAreas[0]

213
Не могу понять код

Не могу понять код

Страница 50 книги "C# для начинающих" Мартина ДрейераВ код необходимо добавить метод

179
Для поставщика ADO.NET с неизменяемым именем &ldquo;Oracle.ManagedDataAccess.Client&rdquo;

Для поставщика ADO.NET с неизменяемым именем “Oracle.ManagedDataAccess.Client”

Доброго, столкнулся с ошибкой: Для поставщика ADONET с неизменяемым именем "Oracle

213