2009-10-27 43 views
8
  • Tengo un WPF DataGrid que muestra algunos registros de datos (delimitados a una ObservableCollection).WPF DataGrid - Establecer una celda en modo de edición programáticamente

  • Cuando el usuario hace clic en el botón "Editar", la fila actual seleccionada debe moverse al modo de edición (Como si el usuario hiciera doble clic en esta fila).

  • ¿Alguna idea de alguien que sepa cómo hacerlo?

+0

[Encontrado otro puesto que responde a esta pregunta.] [1] trabajó para mí. [1]: http://stackoverflow.com/questions/3421597/how-to-set-focus-to-particular-cell-of-wpf-toolkit-datagrid –

Respuesta

3

Suponiendo WPF:

<DataGrid x:Name="dg".... /> 

A continuación, este código funcionará:

dg.CurrentCell = new DataGridCellInfo(dg.Items[i], dg.Columns[j]); 
dg.BeginEdit(); 
+0

Tenga en cuenta que el orden de las columnas en el La colección 'dg.Columns' no es necesariamente el orden que se muestra en la pantalla, consulte la nota en https://msdn.microsoft.com/en-us/library/system.windows.controls.datagrid.columns(v=vs.110) .aspx #. Si necesita indexar por orden de visualización, simplemente almacene 'dg.Columns.OrderBy (c => c.DisplayIndex) .ToArray()' en una variable local, e indexe en esa matriz en su lugar. – Gooseberry

Cuestiones relacionadas