我在wpf的窗口中有一个daetagrid,一个组合框和一个文本框。
xmal中的:
<?php foreach ($attribute_group['attribute'] as $attribute) { ?>
<?php if ($attribute['attribute_id'] == 102) { ?>
<tr>
<td><?php echo $attribute['name']; ?></td>
<td><a href="<?php echo $attribute['text']; ?>"><?php echo $attribute['text']; ?></a></td>
</tr>
<?php } else { ?>
<tr>
<td><?php echo $attribute['name']; ?></td>
<td><?php echo $attribute['text']; ?></td>
</tr>
<?php } ?>
<?php } ?>
我获取名为mytbl的表的所有字段,并使用以下代码在datagrid中显示它们:
<TextBox x:Name="txtCameraName"/>
<ComboBox x:Name="cmbCameraType" SelectedValuePath="Camera_Type" IsEditable="True" IsReadOnly="True" Text="Please select...">
<ComboBoxItem>IP</ComboBoxItem>
<ComboBoxItem>webcam</ComboBoxItem>
<ComboBoxItem>analogue</ComboBoxItem>
</ComboBox>
<DataGrid x:Name="mydgv" SelectionChanged="dgvAddPersonTab_SelectionChanged">
<DataGrid.Columns>
<DataGridTextColumn Binding="{Binding Camera_Name}" Width="80" />
<DataGridTextColumn Binding="{Binding Camera_Type}" Width="80" />
</DataGrid.Columns>
和 private void window_Loaded(object sender, RoutedEventArgs e)
{
var q= from j in CamDB.mytbl select q;
mydgv.ItemsSource = q.ToList();
}
是一个表,它有两个字段:mytbl
,Camera_Name
。现在,我想在选择一行datagrid时在文本框中显示Camera_Type
的值,在组合中显示Camera_Name
的值。我阅读了this link,我尝试使用以下代码,但它在文本框方面工作,但它并不适用于组合。
Camera_Type
答案 0 :(得分:0)
我使用了以下代码并且它有效:
cmbCameraType.Text = AllFields.GetType().GetProperty("Camera_Type").GetValue(AllFields, null).ToString();
答案 1 :(得分:0)
您是否尝试过绑定?
尝试将这些添加到xaml中的TextBox和ComboBox:
<TextBox Text="{Binding ElementName=mydgv,Path=SelectedItem.Camera_Name" />
<ComboBox Text="{Binding ElementName=mydgv,Path=SelectedItem.Camera_Type" />
其他事情被省略了。