我想要DataGrid的选定列索引。例如,如果我选择第一列,我想要第一列的索引(index = 0)。
我在DataGrid SelectionChanged事件中尝试过,但我似乎无法获得特定的列索引。如果有人知道如何做,请帮我一些示例代码。
答案 0 :(得分:0)
DataGrid.Items属性返回表示DataGrid中DataGridItems的DataGridItemCollection。
每个DataGridItem代表渲染表中的单个行。此外,DataGridItem公开了一个表示no的Cells属性。在渲染表中的tablecells(换句话说,列)。
// Get the Row Count
int rowCount = myGrid.Items.Count;
// Get the no. of columns in the first row.
int colCount = myGrid.Items[0].Cells.Count;
答案 1 :(得分:0)
我假设您需要所选列的索引。以下是我提出的代码:
List<int> selectedColumnIndexes = new List<int>(dataGrid.SelectedCells.Count);
for (int i = 0; i < dataGrid.SelectedCells.Count; i++)
{
foreach (DataGridColumn column in dataGrid.Columns)
{
if (column.DisplayIndex == dataGrid.SelectedCells[i].Column.DisplayIndex)
{
if (!selectedColumnIndexes.Contains(column.DisplayIndex))
{
selectedColumnIndexes.Add(column.DisplayIndex);
}
}
}
}
因此,您将拥有当前所选列的所有索引的列表。 This question提供了一些很好的线索,可以指明这里的方向。
显然,如果你只想要实际选择的列数,那么在for循环运行之后,只需选择该值-ColumnIndexes.Count。