0

そのため、データグリッドから値を取得する方法について、かなり多くの情報を読みました。作成されたデータグリッドは次のとおりです。

 <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;

問題は、多くの人がこのヒントを使用しているのに、どういうわけかキーワードの値を理解していないことです。私は何かを逃していますか?

4

2 に答える 2

0

DataGrid.SelectedCells[0]DataGridCellInfoを返します。使用する

var i = (dataGrid1.SelectedCells[0].Item as YourClass).Id
于 2012-05-05T14:12:07.847 に答える
0

グリッドに基づいて値を取得するよりも、バインドされたオブジェクトを使用したいと思います。選択した行にバインドされたオブジェクトをかなり簡単に取得できます。

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

YourClassグリッドにバインドしたオブジェクトのタイプに置き換えるだけです。

于 2012-05-05T14:43:51.900 に答える