从数据网格中获取值

时间:2012-05-05 14:02:42

标签: wpf datagrid

所以我已经阅读了很多关于如何从数据网格中获取值的信息。继承了我创建的数据网格。

 <DataGrid AutoGenerateColumns="False" Height="257" HorizontalAlignment="Left"              Margin="12,41,0,0" Name="dataGrid1" VerticalAlignment="Top" Width="479" IsReadOnly="True"    CanUserSortColumns="False" SelectionMode="Single">
        <DataGrid.Columns>
            <DataGridTextColumn Header="Id" Binding="{Binding Id}"/>
            <DataGridTextColumn Header="Opgave" Binding="{Binding Name}"/>
            <DataGridTextColumn Header="Udvikler" Binding="{Binding Creator}"/>
        </DataGrid.Columns>
    </DataGrid>

我想要的是从所选行(ID)中的第一个单元格中获取值

这就是我想出来的。

            string i = dataGrid1.SelectedCells[0].Value;

问题是很多人都在使用这个技巧,但不知何故它不理解关键字的价值。我错过了什么或者?

2 个答案:

答案 0 :(得分:0)

DataGrid.SelectedCells[0]返回DataGridCellInfo。使用

var i = (dataGrid1.SelectedCells[0].Item as YourClass).Id

答案 1 :(得分:0)

我宁愿使用绑定对象而不是基于网格获取值。您可以轻松获取绑定到所选行的对象。

var selectedObject = dataGrid1.SelectedItem as YourClass;
var id = selectedObject.Id;

只需将YourClass替换为绑定到网格的对象类型。