Форум программистов, компьютерный форум, киберфорум
C#: WPF, UWP и Silverlight
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
97 / 98 / 58
Регистрация: 29.09.2016
Сообщений: 410

Как присвоить каждому GridDataRow в качестве поля список ?

04.11.2019, 13:08. Показов 453. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
У меня присваивает только одно значение строке, я хотел бы, чтоб на каждой строке был выпадающий список.

Я как бы заполняю DataGrid
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
 <DataGrid
                Name="ViewDisplayDataGrid"
                FontSize="12"
                FontWeight="Normal"
                Margin="5,76,5,10"
                AutoGenerateColumns="False"
                IsReadOnly="True"               
                AlternationCount="2"
                CanUserAddRows="False"         
                VirtualizingStackPanel.IsVirtualizing="False" Loaded="ViewDisplayDataGrid_Loaded"
                >
 
 
            <DataGrid.Resources>
                <Style TargetType="{x:Type DataGridColumnHeader}">
                    <Setter Property="ContentTemplate">
                        <Setter.Value>
                            <DataTemplate>
                                <TextBlock Text="{Binding}" TextWrapping="Wrap"/>
                            </DataTemplate>
                        </Setter.Value>
 
                    </Setter>
                </Style>
                <CollectionViewSource x:Key="IndicatorLookUp"></CollectionViewSource>
            </DataGrid.Resources>
 
 
            <DataGrid.Columns>
                <!--<DataGridTextColumn Header="Имя Макета"  Width="*" TextBlock.FontSize="9"/>
                <DataGridTextColumn Header="Номер Макета"  Width="*"  TextBlock.FontSize="9"/>
                <DataGridTextColumn Header="Показатели"  Width="*"  TextBlock.FontSize="9"/>
                <DataGridTextColumn Header="Тип Показателя"  Width="*"  TextBlock.FontSize="9"/>-->
 
                <DataGridTextColumn Header="Имя Макета"  Width="*" TextBlock.FontSize="12" Binding="{Binding Path=Name}"/>
                <DataGridTextColumn Header="Номер Макета"  Width="*"  TextBlock.FontSize="12" Binding="{Binding Path=Id}"/>
                <!--<DataGridTextColumn  Header="Показатели"  Width="*"  TextBlock.FontSize="12"/>
                <DataGridTextColumn Header="Тип Показателя"  Width="*"  TextBlock.FontSize="12"/>-->
 
                <DataGridComboBoxColumn  SelectedValueBinding="{Binding IndicatorName , Mode=TwoWay}"
                  SelectedValuePath="IndicatorId"
                  DisplayMemberPath="IndicatorName"
                  Header="Показатели"
                  ItemsSource="{Binding Source={StaticResource IndicatorLookUp}}">
                    
                </DataGridComboBoxColumn>
                
                
            </DataGrid.Columns>
         
            
            
            
        </DataGrid>
А в Коде прописываю
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 List<Indicator> testInd = new List<Indicator> {
                                new Indicator { Id = 1 , IndicatorName = "Test1" , IndicatorDesc = "trst" , IndicatorTypeId = 1 }
                               , new Indicator { Id = 2 , IndicatorName = "Test2" , IndicatorDesc = "trst" , IndicatorTypeId = 1}
                               , new Indicator { Id = 3 , IndicatorName = "Test3" , IndicatorDesc = "trst" , IndicatorTypeId = 1} };
 
            for(int i =0; i <ViewDisplayDataGrid.Items.Count; i++)
            {
                DataGridRow indicatorSource = (DataGridRow)this.ViewDisplayDataGrid.ItemContainerGenerator.ContainerFromIndex(i);
                if (indicatorSource == null)
                {
                    this.ViewDisplayDataGrid.UpdateLayout();
                    this.ViewDisplayDataGrid.ScrollIntoView(this.ViewDisplayDataGrid.Items[i]);
                    indicatorSource = (DataGridRow)this.ViewDisplayDataGrid.ItemContainerGenerator.ContainerFromIndex(i);
                }
 
                var indicatorList = (CollectionViewSource)indicatorSource.FindResource("IndicatorLookUp");
                indicatorList.Source = testInd;
                
            }
И на выходе имею строки , к которым подвязался только первый элемент Lista , что я делаю не правильно?
Миниатюры
Как присвоить каждому GridDataRow в качестве поля список ?  
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
04.11.2019, 13:08
Ответы с готовыми решениями:

Как присвоить каждому блоку с анонсом свой ID
Здравствуйте. Подскажите пожалуйста, как присвоить каждому блоку с анонсом свой ID? Cуть вот в чем: В анонсе выводится только...

Как в ComboBox каждому элементу присвоить собственный шрифт?
Как в ComboBox каждому элементу присвоить собственный шрифт (как в Ворде)? Уже гуглить пробовал и ничего толком не нашел. Вроде простая...

Как присвоить каждому из браузеров отдельный css стиль?
Здравствуйте, нашел код, который позволяет использовать разный css для браузеров версий ПК (хром, мозила, опера, сафари и IE), но не...

1
880 / 559 / 291
Регистрация: 21.11.2012
Сообщений: 1,554
04.11.2019, 14:24
А в Коде прописываю
зачем вообще что-то в коде прописывать? создаете свойство во вьюмодели типа список, и биндите его к колонке, правда стандартный combobox столбец работает коряво и нужно проводить доп. манипуляции, чтобы он список корректно отобразил. лучше использовать DataGridTemplateColumn и в него пихать комбобокс

Добавлено через 4 минуты
вот нашел старую тему, в которой несколько ответов, которые вам подойдут, а также пример проекта
2
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
04.11.2019, 14:24
Помогаю со студенческими работами здесь

Как сделать чтоб каждому сотруднику присвоить пароль
как сделать чтоб каждому сотруднику(пользователю) присвоить пароль? в этой базе что то намудрено так и не разобрался...:)

Как присвоить каждому элементу матрицы 2х3 время в диапазоне от 7:00 до 19:00
Помогите пожалуйста написать программу.Опишите в программе двухмерный массив размерностью 2*3 элементов и присвойте значения каждому...

Подскажите, как присвоить переменную, каждому полю полученному из Mysql?
Ситуация такая, информацию из таблицы получается получить, но вот для каждого поля сделать отдельную переменную не получается... Думал...

Как каждому контролу из массива вместо события клика присвоить процедуру?
Есть процедура: private void ShowNum(int num) { MessageBox.Show(&quot;Было нажато по PictureBox&quot; + num.ToString() ); } Нужно...

Как присвоить каждому номеру строки combobox выполнение определенных операций
Всем доброе время суток! Помогите пожалуйства решить мою задачу: есть окно с комбобоксом, нужно чтобы от выбора той или иной строки...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru