【发布时间】:2013-01-21 13:27:02
【问题描述】:
我有一个DataGrid 将数据插入到 Sql Server 表中。在DataGrid 内部,我有ComboBox 从码本中挑选数据(这是来自同一数据库的表)并将这些数据插入我绑定到DataGrid 的表中。这是 XAML:
<DataGrid Name="dgrStavke" AutoGenerateColumns="False" Height="160" Width="600" HorizontalAlignment="Left" Margin="5" Grid.Row="7" Grid.ColumnSpan="4">
<DataGrid.Columns>
<DataGridTemplateColumn Header="Artikl ID">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<ComboBox Name="cmbArticle" Width="120" ></ComboBox>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTextColumn Header="Article Name" Width="150"></DataGridTextColumn>
<DataGridTemplateColumn Header="Usluga ID">
<DataGridTemplateColumn.CellEditingTemplate>
<DataTemplate>
<ComboBox Name="cmbService" Width="120"></ComboBox>
</DataTemplate>
</DataGridTemplateColumn.CellEditingTemplate>
</DataGridTemplateColumn>
<DataGridTextColumn Header="Service Name" Width="150"></DataGridTextColumn>
</DataGrid.Columns>
</DataGrid>
当我在组合框文章中选择文章 ID 时,下一个 DataGridTextColumn 应该显示这篇文章的名称。服务也是如此。可以插入少量文章和服务,这就是我使用Datagrid 的原因。
我该怎么做?
谢谢。
【问题讨论】:
-
你在使用 MVVM 吗?您应该使用 MVVM 创建一个 ViewModel,以便您可以拥有一个用作
ComboBox中的“选定项”的对象,然后将“选定项”Article Name和Service Name绑定到相应的数据网格列跨度>