我有一个DataGrid,它填充了我的sql数据库中的数据。现在,我想从我选中的行中获得一个特定的单元格(第二个单元格)。
这就是我现在拥有的:WPF XAML:
<DataGrid Name="myGrid">
<DataGrid.Columns>
<DataGridTemplateColumn>
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<CheckBox Checked="CheckBox_Checked"/>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTextColumn Header="CustomerID" Width="Auto" Binding="{Binding CustomerID}"/>
<DataGridTextColumn Header="ItemID" Width="Auto" Binding="{Binding ItemID}"/>
<DataGrid>
C#代码:
private void CheckBox_Checked(object sender, RoutedEventArgs e)
{
DataGrid row = (DataGrid)myGrid.SelectedItems[1];
System.Windows.MessageBox.Show(row);
}
运行时出现错误:
System.ArgumentOutOfRangeException
{“索引超出范围。必须为非负数,并且小于集合的大小。\ r \ n参数名称:index”}
我究竟做错了什么?我是否必须使用另一种方法来获取所需的单元格?
我终于找到了!很简单。
DataRowView drv = (DataRowView)myGrid.SelectedItem;
String result = (drv["CustomerID"]).ToString();
MessageBox.Show(result);
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句