Итак, мне нужно создать приложение WPF, которое будет принимать значения из списка и сохранять их в DataGrid. У меня есть 3 поля, которые я хочу показать в сетке: Имя пользователя, FullName и Роль. Теперь Роль может иметь 2 значения: покупатель и поставщик. Как мне сделать эту часть DataGridTemplate? Кроме того, как выбрать правильную нагрузку для каждого пользователя? Пустая строка - это место, где должен быть отсутствующий код. Вот код, над которым я работаю:
<Grid>
<DataGrid AutoGenerateColumns="False" ItemsSource="{Binding UserList}" Name="dgUsers" HorizontalAlignment="Left" Height="450" Width="400">
<DataGrid.Columns>
<DataGridTemplateColumn Header="Username" Width="100" IsReadOnly="True">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding Username}"/>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTemplateColumn Header="Full Name" Width="200" IsReadOnly="True">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding FullName}"/>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTemplateColumn Header="Role" Width="100">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
</DataGrid.Columns>
</DataGrid>
</Grid>
EDIT:
В качестве DataTemplate я сделал это:
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<ComboBox ItemsSource="{Binding valueList}" SelectedIndex="{Binding Role}"/>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
Как роль, внутри конструктора я сделал это:
public class UserToChange
{
public string Username { get; set; }
public string FullName { get; set; }
public int Role { get; set; }
public List<string> valueList { get; set; }
public UserToChange()
{
}
public UserToChange(UserVM row)
{
Username = row.UserName;
FullName = row.FirstName + " " + row.LastName;
Role = row.RoleId == 102 ? 0 : 1;
valueList = new List<string>
{
"Supplier",
"Shopper"
};
}
}
И это сработало. Теперь мне нужно запрограммировать логику для обновления базы данных, но я могу справиться с этим. Спасибо всем!