Так, давайте по порядку.
1. Для начала предположим что вы пользуетесь какой-либо ORM, ну или сами пишите SQL-запросы и преобразуете полученные результаты во вменяемые бизнес-объекты.
2. Допустим, у вас есть классы CalendarItem и DayOfWeek такого вида:
class CalendarItem
{
....
public string DayOfWeek Day { get; set; }
public string Text { get; set; }
}
class DayOfWeek
{
....
public int Id { get; }
public string Name { get; }
}
3. Теперь делаем датагрид с комбобоксом. Допустим у вас есть
ObservableCollection<CalendarItem> Items
. Тогда вам нужно привязать грид к этой коллекции, комбобокс (его выбранное значение) - к свойству Day элемента календаря, а то, что будет выведено в комбике в качестве текста - к св-ву Description класса DayOfWeek. Примерно это будет так:
<DataGrid x:Name="dataGrid1" CanUserAddRows="False" CanUserDeleteRows="False" AutoGenerateColumns="False" ItemsSource="{Binding Path=Items}">
<DataGrid.Columns>
<DataGridComboBoxColumn x:Name="dayColumn" Header="День недели" Width="200" SortMemberPath="Day.Id" DisplayMemberPath="Description" SelectedValueBinding="{Binding Path=Day}" />
<DataGridTextColumn x:Name="textColumn" Header="Описание события" Binding="{Binding Path=Text}" />
</DataGrid.Columns>
</DataGrid>
Заодно с сортировкой по айдишнику.
Попробуйте это все, если что непонятно - в комментарии, разберемся. Пока попробуйте без считывания из базы, чтобы было проще, просто создайте объекты дней недели и несколько CalendarItem-ов.