2009-10-27 9 views
8
  • J'ai un DataGrid WPF qui montre certains enregistrements de données (liés à une ObservableCollection). Lorsque l'utilisateur clique sur le bouton "Modifier", la ligne sélectionnée doit passer en mode édition (comme si l'utilisateur cliquait deux fois sur cette ligne).WPF DataGrid - Définir une cellule en mode d'édition par programme

  • Une idée de quelqu'un qui sait comment faire cela?

+0

[trouvé un autre poste qui répond à cette question.] [1] a marché pour moi. [1]: http://stackoverflow.com/questions/3421597/how-to-set-focus-to-particular-cell-of-wpf-toolkit-datagrid –

Répondre

3

En supposant WPF:

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

Ensuite, ce code fonctionnera:

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

Notez que l'ordre des colonnes dans le La collection 'dg.Columns' n'est pas nécessairement l'ordre affiché à l'écran, voir la note sur https://msdn.microsoft.com/fr-fr/library/system.windows.controls.datagrid.columns(v=vs.110) .aspx #. Si vous avez besoin d'indexer par ordre d'affichage, il suffit de stocker 'dg.Columns.OrderBy (c => c.DisplayIndex) .ToArray()' dans une variable locale, et d'indexer dans ce tableau à la place. – Gooseberry

Questions connexes