Syncfusion SfDataGrid Отменить выбранный элемент - PullRequest
0 голосов
/ 14 июля 2020

В настоящее время я работаю над приложением Wpf, и у меня возникла проблема. Я хотел бы отменить изменение SelectedItem и выбрать предыдущий выбранный элемент.

Итак, у меня есть SfDataGrid в моем представлении, которое имеет 2 привязки

  • ItemsSource -> ObservableCollection
  • SelectedItem -> Dummy
<c:ExtendedSfDataGrid x:Name="DummyDataGrid"
                                          BorderThickness="0"
                                          HeaderRowHeight="25"
                                          SelectionMode="Single"
                                          SelectedItem="{Binding SelectedDummy}"
                                          ItemsSource="{Binding DummyCollection}">

И в моей ViewModel у меня есть ObservableCollection и фиктивный объект

public ObservableCollection<Dummy> DummyCollection{ get; private set; }
public Dummy SelectedDummy
{
    get=>_selectedDummy;
    set
    {
       if(hasChanges)
       {
          return;
       }
       Set(ref _selectedDummy, value);
    }
}

Итак, как я могу отменить изменение и повторно выбрать предыдущий Dummy?

Я уже пытался создать событие и изменить DummyDataGrid.SelectedItem на предыдущий. Но в обзоре все еще выбран другой

1 Ответ

1 голос
/ 16 июля 2020

Событие SfDataGrid.SelectionChanging возникает перед обработкой выбора для конкретной строки или ячейки. Мы можем отменить процесс выбора в этом событии, установив для свойства GridSelectionChangingEventArgs.Cancel значение true.

Ссылка на UG : https://help.syncfusion.com/wpf/datagrid/selection#selectionchanging -event

Пример ссылки : https://www.syncfusion.com/downloads/support/directtrac/general/ze/SfDataGrid_SelectionChanging645336355

...