Гость
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / DataGridComboBoxColumn биндинг / 2 сообщений из 2, страница 1 из 1
30.07.2013, 14:02
    #38348685
Fet Frumos
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DataGridComboBoxColumn биндинг
Есть приложение WPF + работа с данными в Code First. Модель
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
public class Person 
{
   public int Id {get; set;}
   public string Name {get; set;}
   public virtual Country Country {get ;set;}
}

public class Country
{

   public int Id {get; set;}
   public string Name {get; set;}
} 


Нужно выводить в грид Person.Name и Country.Name. Задача тривиальная, но для DataGridComboBoxColumn ответа не нашел. Последний вариант(неработающий). В базе значения есть, комбобокс пустой.

Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
 <DataGrid name ="gridPerson" AutoGenerateColumns="False">
                        <DataGrid.Columns>
                            <DataGridTextColumn 
                                                Binding="{Binding Name}"
                                                Header="Person Name" />
                            <DataGridComboBoxColumn Header="CountryName" 
                                                SelectedItemBinding="{Binding County}" 
                                                SelectedValueBinding="{Binding Path=Id}" 
                                                SelectedValuePath="Name" 
                                                DisplayMemberPath="Name" />

                        </DataGrid.Columns>
           </DataGrid>



код заполнения
Код: c#
1.
2.
3.
4.
5.
6.
7.
 private void Window_Loaded(object sender, RoutedEventArgs e)
    {
        personContext = new PersonContext();
        personContext.Persons.Load();
        personContext.Counties.Load();
        gridPerson.ItemSource = personContext.Persons.local; 
    }


контекст
Код: c#
1.
2.
3.
4.
5.
6.
 public class PersonContext : DbContext
    {

       public DbSet<Person> Persons { get; set; } 
       public DbSet<Country> Countries { get; set; }
    }     



Подскажите как отобразить название страны в гриде?
...
Рейтинг: 0 / 0
30.07.2013, 19:28
    #38349353
Fet Frumos
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DataGridComboBoxColumn биндинг
Почитал в сети об этой проблеме. На мсдн пишут - Чтобы заполнить раскрывающийся список, сначала установите ItemsSource свойство ComboBox с помощью одного из следующих параметров.

Статический ресурс. Дополнительные сведения см. в разделе Расширение разметки StaticResource.

x: Статическая сущности кода. Дополнительные сведения см. в разделе Расширение разметки x:Static.

Встроенная коллекция ComboBoxItem типы.

Попробовал это работает, но для этого нужно создавать отдельный класс, в программе(в коде) насколько я понимаю я не могу использовать этот класс. В моей программе будет не один такой комбобокс - для каждого создавать отдельный класс? должно быть более оптимальное решение.
...
Рейтинг: 0 / 0
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / DataGridComboBoxColumn биндинг / 2 сообщений из 2, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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