Кто-нибудь пытался реализовать следующий сценарий?Мне было бы интересно узнать, какие решения существуют для достижения этой цели.Это стало настоящей болью для наших пользователей ...
У нас есть WPF DataGrid, который дает пользователю возможность фильтровать свои строки данных на основе столбца (где Column = Value или начинается с, заканчивается с, содержити тд и тп).Они также могут сортировать данные, щелкая один из заголовков столбцов, или мы также предоставляем им окно сортировки, где они могут добавлять несколько столбцов и выбирать по возрастанию / убыванию для каждого столбца (который просто применяется к свойству «SortDirection» в каждом столбце).они выбирают, кажется, что он также использует «CollectionView» вместе с SortDescription).
Проблема заключается в том, что пользователь редактирует данные и применяет «фильтр» или «сортировку» (или оба), еслиПользователь редактирует значение в одном из этих отфильтрованных / отсортированных столбцов, строка «переместится» и возьмет с собой курсор.Если новое значение является значением, которое «фильтруется», то строка полностью исчезает (как и должно быть из-за примененной пользователем «фильтрации»).
Они хотели бы одну из двух вещейпроизойдет вместо этого:
1 - продолжить и автоматически сортировать и фильтровать после изменения каждой ячейки; если строка «перемещается», переместите курсор на следующую строку (ту же ячейку) вместо курсора, следующего за строкойк его новому желанию (и, возможно, прокручивая текущие видимые строки данных за пределы экрана).
2 - Как только строка будет отредактирована, отключите всю сортировку и фильтрацию, пока пользователь не нажмет «Сохранить» или «Обновить» (или какой-либо другой параметр)?
Я также могу видеть, гдемы могли бы использовать один подход для фильтрации, а другой - для сортировки.
У кого-нибудь есть идея получше или есть идеи о том, как это реализовать?
У меня есть пара идей (Например,чтобы отключить сортировку: в моем обработчике событий CellEditEnding я мог сохранять параметры сортировки пользователей, очищать их от каждого столбца и затем повторно применять их, когда пользователь нажимает кнопку «Сохранить / Сбросить», или, возможно, я смог обработать событие «Сортировка» и установить «e».обрабатывается "истина, когда данные редактируются ??).Я просто новичок в WPF и DataGrid, мне интересно, может быть, есть "лучшая практика" или свойство, которое я просто не нашел, например, "DisableSorting = true / false" (смеется).
Мысли?Мнения?