powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Combobox in Listview: databinding with nullable value
2 сообщений из 2, страница 1 из 1
Combobox in Listview: databinding with nullable value
    #38126299
Sandmann123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем привет!
Может кто подскажет, как решить следующею проблему.
Имеется, к примеру, две таблицы: Group { GroupID, Name } и Student {StudentID, Surname, FK GroupID}. Связь один-ко-многим.
Задача: вывести на экран список: { фамилия студента - группа }
На форме ListView связанный с таблицей Student, в котором два поля Surname и GroupID, вместо GroupID выводится, соответственно, поле Name (в Combobox-е).
Проблема: если в таблице Student у какой-либо строки поле GroupID = NULL, то ListView пустой; иначе список выводится правильно.
Код XAML:

Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
...
<Window.Resources>
  <CollectionViewSource x:Key="studentsViewSource" d:DesignSource="{d:DesignInstance my:Students, CreateList=True}" />
  <CollectionViewSource x:Key="groupsViewSource" d:DesignSource="{d:DesignInstance my:Groups, CreateList=True}" />
</Window.Resources>
...
<Grid DataContext="{StaticResource studentsViewSource}">
  <ListView Height="200" ItemsSource="{Binding}" Margin="0,0,0,61" Name="studentsListView" SelectionMode="Single">
...
    <GridViewColumn x:Name="groupIDColumn" Header="Группа" Width="100">
                        <GridViewColumn.CellTemplate>
                            <DataTemplate>
                                <ComboBox Margin="-6,-1"
                                          SelectedValuePath="GroupID"
                                          SelectedValue="{Binding Path=GroupID}"
                                          ItemsSource="{Binding Source={StaticResource groupsViewSource}}"
                                          IsSynchronizedWithCurrentItem="False"
                                          DisplayMemberPath="Name">
                                </ComboBox>
                            </DataTemplate>
                        </GridViewColumn.CellTemplate>
    </GridViewColumn>
...



Использование TargetNullValue и наследника от IValueConverter в свойcтвах Combobox-а не помогли.
...
Рейтинг: 0 / 0
Combobox in Listview: databinding with nullable value
    #38133912
Miad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sandmann123,

попробуй так
Код: xml
1.
 SelectedValue="{Binding Path=GroupID, TargetNullValue=0}"



или прикрути конвертер который нужен
Код: xml
1.
 SelectedValue="{Binding Path=GroupID, Converter={StaticResource targetNullValueConverter}}"
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Combobox in Listview: databinding with nullable value
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]