2013-09-04 14 views
5

DataGridでクリック/選択したセルのインデックスを取得するにはどうすればよいですか?
DataGridの列が自動的に生成され、DataTemplateを使用したくありません。WPF:DataGridでクリック/選択されたセルのインデックスを取得

 <DataGrid 

     ItemsSource="{Binding Table,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged,IsAsync=True}" AutoGenerateColumns="True"> 

    </DataGrid> 
+0

「インデックス」という単語はどういう意味ですか? [DataGridCell](http://msdn.microsoft.com/de-de/library/system.windows.controls.datagridcell.aspx)または[DataGridCellInfo](http://msdn.microsoft.com)にそのようなプロパティはありません。 /de-de/library/system.windows.controls.datagridcellinfo.aspx) – WiiMaxx

+0

インデックスで何をしたいですか?あなたが実際に価値を持つことができるとき。 – JSJ

答えて

8
DataGrid x = (DataGrid)this.FindName("myDataGrid"); 
var index = x.SelectedIndex; 

その他の便利なプロパティもあります。選択部は、「セル」であり、あなたが選択したセルをループする必要があり、行を取得するとき

x.CurrentColumn; 
x.CurrentItem; 
x.SelectedItem; 
x.SelectedValue; 
0

これは、私が見つけた解決策であります列インデックス。 私は、textcolumnのみを持つDataGridと、itemssourceとしてdatatable(csvファイルからcreted)を持っています。

For Each cell As DataGridCellInfo In dataGrid1.SelectedCells 

     MsgBox(cell.Column.DisplayIndex) 
     MsgBox(dataGrid1.Items.IndexOf(cell.Item)) 
Next 
関連する問題