2009-10-27 18 views
8
  • Posiadam DataGrid WPF, który pokazuje niektóre rekordy danych (ograniczone do ObservableCollection).WPF DataGrid - Programowo programuje komórkę w trybie edycji

  • Gdy użytkownik kliknie przycisk "Edytuj", wybrany wiersz powinien zostać przeniesiony do trybu edycji (tak, jakby użytkownik dwukrotnie kliknął ten wiersz).

  • Każdy pomysł kogoś, kto wie, jak to zrobić?

+0

[Znaleziono kolejny post, który odpowiada na to pytanie.] [1] pracował dla mnie. [1]: http://stackoverflow.com/questions/3421597/how-to-set-focus-to- specific-cell-of-wpf-toolkit-datagrid –

Odpowiedz

3

Zakładając WPF:

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

Wtedy ten kod zadziała:

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

Pamiętaj, że kolejność kolumn w Kolekcja 'dg.Columns' niekoniecznie jest kolejnością wyświetlaną na ekranie, patrz uwaga w https://msdn.microsoft.com/en-us/library/system.windows.controls.datagrid.columns(v=vs.110) .aspx #. Jeśli potrzebujesz indeksować według kolejności wyświetlania, po prostu zapisz 'dg.Columns.OrderBy (c => c.DisplayIndex) .ToArray()' w zmiennej lokalnej i zamiast tego indeksuj do tej tablicy. – Gooseberry