如何在DataGrid上获取单击/选定单元格的索引?
我的DataGrid列自动生成,我不想使用任何DataTemplate。
<DataGrid ItemsSource="{Binding Table, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged, IsAsync=True}"
AutoGenerateColumns="True">
</DataGrid>
答案 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);