Я пытаюсь создать форму, которая содержит редактируемую сетку данных, используя IronPython и XAML.
Я извлекаю свои данные из базы данных и добавляю их в список.Затем я устанавливаю этот список в качестве источника элементов для поля со списком.Это работает, и раскрывающийся список со списком заполняется необходимыми параметрами.
Однако, если я теперь переместлю свое поле со списком в DataGridTemplateColumn, он больше не заполняет раскрывающийся список, несмотря на то, что назван так же.
XAML:
<DataGrid AutoGenerateColumns="False" CanUserResizeRows="False" CanUserSortColumns="False" ClipboardCopyMode="IncludeHeader" Height="189" HorizontalAlignment="Left" Margin="6,16,0,0" SelectionUnit="Cell" VerticalAlignment="Top" Width="700" Name="Dtgrd_ELExceptions" CanUserAddRows="True" ItemsSource="{Binding}">
<DataGrid.Columns>
<DataGridTextColumn Header="Usertype" Binding="{Binding Usertype}" />
<DataGridTemplateColumn Header="Header">
<DataGridTemplateColumn.CellEditingTemplate>
<DataTemplate>
<ComboBox ItemsSource="{Binding itemc}" Name="combo" />
</DataTemplate>
</DataGridTemplateColumn.CellEditingTemplate>
<DataGridTemplateColumn.CellTemplate>
<DataTemplate />
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTextColumn Header="Charge Rate" Binding="{Binding Rate}"/>
</DataGrid.Columns>
</DataGrid>
IronPython
#Get list of categories
def Categorylist():
strSql5 = "Select Name from Usr_VarChargeCategories"
_tikitDbAccess.Open(strSql5)
if _tikitDbAccess._dr is not None:
dr = _tikitDbAccess._dr
if dr.HasRows:
itemc = list()
while dr.Read():
itemc.append(dr.GetString(0))
combo.ItemsSource = itemc
dr.Close()
_tikitDbAccess.Close()
Чего мне не хватает?Немного исследовав, я думаю, что поле со списком в столбце Datagridtemplate не выставляется так же, как когда оно находится вне сетки данных.Но я не могу найти способ ссылаться на него или альтернативный метод.