how to set focus to particular cell of WPF toolkit datagrid

百般思念 提交于 2019-11-30 05:01:33

You need to set the current cell to the one you want edited and then call BeginEdit in your Loaded handler:

dataGrid1.CurrentCell = new DataGridCellInfo(
    dataGrid1.Items[0], dataGrid1.Columns[3]);
dataGrid1.BeginEdit();

If you give your DataGridTextColumn a name in XAML you can use that name rather than Columns[3].

Use this code to move scroll view to specific cell

dgv.ScrollIntoView(dgv.Items[row], dgv.Columns[col]);

Ramesh Vishwakarma

Use below function, it will work.

private void SetFocusOnGrid(DataGrid grid, int index)
{
    grid.ScrollIntoView(grid.Items.GetItemAt(index));
    grid.SelectionMode = DataGridSelectionMode.Single;
    grid.SelectionUnit = DataGridSelectionUnit.FullRow;
    grid.SelectedIndex = index;

    DataGridRow row = (DataGridRow)grid.ItemContainerGenerator.ContainerFromIndex(index);
    row.MoveFocus(new TraversalRequest(FocusNavigationDirection.Next));
}  

This worked for me:

DataGridCellInfo dataGridCellInfo = new DataGridCellInfo(dataGrid1.Items[sampleRowIndex], dataGrid1.Columns[sampleColumnIndex]);
dataGrid1.SelectedCells.Clear();
dataGrid1.SelectedCells.Add(dataGridCellInfo);

This will select the cell you want to put the focus on.

A DataGridCellInfo object provides information about a cell and the data item that is associated with the cell. It is used instead of a reference to the actual DataGridCell object when the DataGrid control gets a cell, for example in the CurrentCell or SelectedCells properties. Check here for more info.

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!