WPF:获取DataGrid上单击/选定单元格的索引

时间:2013-09-04 14:27:32

标签: wpf datagrid

如何在DataGrid上获取单击/选定单元格的索引?
我的DataGrid列自动生成,我不想使用任何DataTemplate。

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

3 个答案:

答案 0 :(得分:10)

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

还有其他有用的属性:

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

答案 1 :(得分:2)

这是我找到的解决方案,当选择单位是“单元格”并且您需要遍历所选单元格时,获取行和列索引。 我有一个只有textcolumn的DataGrid,以及一个数据表(从csv文件中创建)作为itemssource。

 For Each cell As DataGridCellInfo In dataGrid1.SelectedCells

         MsgBox(cell.Column.DisplayIndex)
         MsgBox(dataGrid1.Items.IndexOf(cell.Item))
 Next

答案 2 :(得分:0)

行索引存在相同的问题,BR1COP给出的答案是唯一对我有用的答案。我没有使用循环,因为我只需要一个单元格,任何选定单元格的索引。所以我这样使用它:

DataGridCellInfo cell = myGrid.SelectedCells[0];
int rowIndex = dividingGrid.Items.IndexOf(cell.Item);