Я только начал изучать WPF и пытался настроить DataGrid с некоторым набором данных. У меня есть записи из Outlook и номера недель. в lst у меня есть список встреч, у которых есть свойства, одно из них - "cwHours" - календарные часы недели - массив с плавающей запятой, индексы которого соответствуют номерам календарных недель. Значения внутри - рабочее время. Так вот в чем проблема снимок экрана Как видно на скриншоте, мой массив cwhours отображается в столбце как Single array, но он должен быть разделен на столбцы по его индексам в правой части имени проекта. Как я могу поместить массив в DataGrid не в один столбец, а в разные? Спасибо.

        List<ProjectModel> lst = reader.olProjectList;
        DataTable.ItemsSource = lst;

        foreach(var x in lst)
        {
            float[] arrayofcw = x.cwHours;

            for (int i = 0; i < arrayofcw.Length; i++)
            {
                var col = new DataGridTextColumn();

                col.Header = i;
                DataTable.Columns.Add(col);
            }





        }
1
sansparkle 16 Апр 2020 в 12:53

1 ответ

Лучший ответ

Вы должны установить свойство Binding столбца. Вы можете установить Path Binding на индекс в свойстве массива, например:

var col = new DataGridTextColumn();
col.Binding = new Binding("cwHours[" + i + "]");
col.Header = i;
DataTable.Columns.Add(col);
1
mm8 16 Апр 2020 в 11:10