6

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

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

3 に答える 3

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

他にも便利なプロパティがあります:

x.CurrentColumn;
x.CurrentItem;
x.SelectedItem;
x.SelectedValue;
于 2013-09-04T15:14:28.030 に答える
2

これは、選択単位が「セル」であり、選択したセルをループして行と列のインデックスを取得する必要がある場合に見つけた解決策です。textcolumn のみの DataGrid と、itemssource としてデータテーブル (csv ファイルから作成) があります。

 For Each cell As DataGridCellInfo In dataGrid1.SelectedCells

         MsgBox(cell.Column.DisplayIndex)
         MsgBox(dataGrid1.Items.IndexOf(cell.Item))
 Next
于 2016-01-08T14:39:42.970 に答える