|
5 / 5 / 0
Регистрация: 11.09.2021
Сообщений: 578
|
||||||||||||||||||||||||||
WPF Увеличить скорость фильтрации DataGrid24.10.2023, 23:23. Показов 2287. Ответов 43
Перейти в окно "ManagerIndexesView".
При перемещении фокуса по строкам DataGrid "IndexesView" должны фильтроваться остальные таблицы. Проблема: таблицы фильтруются с задержкой. Приблизительно, задержка равна 0,5-1 секунд. Вопрос: как ускорить работу фильтрации? Как это сделать в минимальном виде Framework Без погружения в детали MVVM и другие правила оформления кода. Логика работы в окне "Управление коэффициентами": - пользователь выбирает запись в таблице **IndexesView**; - пользователь выбирает запись в в таблице **ProvidersView**; - пользователь нажимает кнопку в строке таблицы **ProvidersView**; - приложение переносит запись из таблицы **ProvidersView** в таблицу "IndexesProvidersView". На картинке показано как для **IndexesProvidersView** с id = 4 набраны поставщики с id =11-20. Поставщики с id =11-20 удалены из таблицы **ProvidersView** Планы: - Таблица **ProvidersView**: добавить кнопки в строки `DataGrid`; - Логика кнопки: Item переместить из `Providers` перемещается в `IndexesProviders`. - Таблица **IndexesProviders**: добавить кнопки в строки `DataGrid`; - Логика кнопки: Item переместить из `IndexesProviders` перемещается в `Providers`. Собрал решение на сколько хватает опыта. При рассмотрении прошу делать поправку на мою неопытность... Проект: https://github.com/jhon65496/WpfApp1 Код привожу частично. Код DataContextApp.cs Кликните здесь для просмотра всего текста
Models IndexCalculation Provider IndexProvider IndexProviderView MainMenuItemMainWindow Кликните здесь для просмотра всего текста
App.xaml.cs Кликните здесь для просмотра всего текста
AppManager Кликните здесь для просмотра всего текста
MainWindowViewModel Кликните здесь для просмотра всего текста
0
|
||||||||||||||||||||||||||
| 24.10.2023, 23:23 | |
|
Ответы с готовыми решениями:
43
Применение нескольких checkbox к datagrid для фильтрации данных Разные параметры для поиска, сортировки и фильтрации DataGrid Как увеличить скорость отображения данных |
|
5 / 5 / 0
Регистрация: 11.09.2021
Сообщений: 578
|
||
| 29.10.2023, 14:12 [ТС] | ||
|
https://www.cyberforum.ru/post17088868.html Добавлено через 22 минуты Элд Хасп, Если для вас ".NET Framework" не составит сильных неудобств...
0
|
||
|
Модератор
|
|||
| 29.10.2023, 14:17 | |||
Добавлено через 2 минуты Их можно переделать под Framework, но нужно на это тратить время. Если для вас это принципиально, то переделайте их сами. Добавлено через 35 секунд Чем, вообще, вызвано использование Framework?
1
|
|||
|
5 / 5 / 0
Регистрация: 11.09.2021
Сообщений: 578
|
||||
| 29.10.2023, 14:22 [ТС] | ||||
|
Ок... Мозги скрипят... NEt Framework как-то понятнее.. Обращение(создание) к VIew?
0
|
||||
|
Модератор
|
||||||||||||||||||||||||||
| 29.10.2023, 14:40 | ||||||||||||||||||||||||||
|
dev3214, собственно сама реализация фильтрации:
1
|
||||||||||||||||||||||||||
|
Модератор
|
|||
| 29.10.2023, 14:44 | |||
![]() Не в той раскладке. Это UI элементы.Добавлено через 2 минуты Код Framework за редчайшими исключениями будет так же компилироваться и работать в .Net6. В .Net6 есть свои дополнительные приятные плюшки, но если не хотите их использовать - не используйте.
1
|
|||
|
5 / 5 / 0
Регистрация: 11.09.2021
Сообщений: 578
|
|
| 29.10.2023, 14:50 [ТС] | |
|
Элд Хасп,
Я прошу прощения... Но как Visual Studio получить вашу ветку? Если не сложно, можно картинку?
0
|
|
|
5 / 5 / 0
Регистрация: 11.09.2021
Сообщений: 578
|
|
| 29.10.2023, 15:04 [ТС] | |
|
Элд Хасп,
Кажись нашёл... Я выполнил шаги как на картинке... У меня последняя версия ветки получается?
0
|
|
|
5 / 5 / 0
Регистрация: 11.09.2021
Сообщений: 578
|
||
| 29.10.2023, 15:17 [ТС] | ||
|
Элд Хасп,
Сделал копию ветки: eldhasp Назвал копию: eldhaspJhon65496_1. Обнаружил, что в ветке eldhasp нету последнего комита. Вернулся в ветку: eldhasp. Сделал действия как на картинке. Правда не уверен, что нажал "Извлечь"(вроде "извлечь") Результат: последнего комита нету. Вопрос: Как получить последний коммит?
0
|
||
|
Модератор
|
|||
| 29.10.2023, 15:20 | |||
|
Для просмотра предыдущих надо перейти к окну просмотра фиксаций: 1) Раскрываем список фиксаций и выбираем просмотреть фиксации. 2) По двойному клику на нужной фиксации раскроется инструмент сравнения фиксация. В нём можно выбрать любое изменение и сравнить его с предыдущим состоянием. 3) Так же, из контекстного меню фиксации (ПКМ) можно откатить к любой фиксации с сохранением или удалением изменений.
1
|
|||
|
Модератор
|
|||
| 29.10.2023, 15:24 | |||
|
Посмотрите на скрине - висит "1" во входящих. В списке фиксаций есть пункт "Получить" - кликните его. Добавлено через 1 минуту Для их получения нужно "Получить".
1
|
|||
|
5 / 5 / 0
Регистрация: 11.09.2021
Сообщений: 578
|
|
| 29.10.2023, 16:09 [ТС] | |
|
Элд Хасп,
Резюмирую. Чтобы убедится что правильно понял.... Получить список коммитов(фиксаций) с ГитХаб Вариант-1 Перейти в Ветви -> Выбрать ветвь. ПКМ. -> Извлечь. Результат: получаем список коммитов(фиксаций) с ГитХаб. Вариант-2 Перейти в VS справа внизу -> Выбрать ветвь Перейти в VS справа внизу -> Список фиксаций -> Извлечь. Результат: получаем список коммитов(фиксаций) с ГитХаб. Получить код с изменениями с ГитХаб Перейти в Ветви -> Выбрать ветвь. ПКМ. -> Получить. Результат: получаем код с изменениями с ГитХаб. Правильно понял? Что такое принесение | вытягивание? В разделе Входящие....
0
|
|
|
Модератор
|
|||
| 29.10.2023, 16:47 | |||
|
Сами пункты меняю задублированы во множестве мест. То что сразу в голову пришло: 1) Меню снизу справа в строке состояния; 2) Пункт Git основного меню Студии; 3) Панель обозревания Git - обычно справа, там же где Обозреватели Решения, Свойств; 4) В Окне просмотра фиксаций в нескольких местах. Принесение - это Извлечение. Вытягивание - Получение.
1
|
|||
|
5 / 5 / 0
Регистрация: 11.09.2021
Сообщений: 578
|
|
| 29.10.2023, 17:25 [ТС] | |
|
Элд Хасп,
Вроде работает... Летает... Спасибо... Можно ещё один нюанс доработать?... см. картинку..
0
|
|
|
5 / 5 / 0
Регистрация: 11.09.2021
Сообщений: 578
|
|
| 29.10.2023, 17:26 [ТС] | |
|
Элд Хасп,
Обновил картинку
0
|
|
|
Модератор
|
||||||||||||||||||||||
| 29.10.2023, 18:46 | ||||||||||||||||||||||
dev3214, реализация реал-тайм изменения фильтрации по замене элементов в коллекции... уже гораздо сложнее. Можно добавить прокси свойство изменяющееся при изменении коллекции. Добавлено через 47 секунд Пока сделайте всё остальное, а дальше посмотрим как лучше реализовать детали.
1
|
||||||||||||||||||||||
|
5 / 5 / 0
Регистрация: 11.09.2021
Сообщений: 578
|
||
| 29.10.2023, 18:53 [ТС] | ||
|
Область-2 В коллекции(DataGrid или ListBox) для каждой записи добавить кнопку. Пользователь выбирает запись. Пользователь нажимает кнопку: Студент из Области-2 удаляется и добавляется в Области-3 С учётом выше описанного как изменится решение? В двух словах... Что искать?
0
|
||
|
Модератор
|
||
| 29.10.2023, 19:10 | ||
|
А вот обеспечить обновление фильтрации.... придётся что-то неординарное придумать. Вы пока сделайте кнопки, команды, изменение моделей. Refresh фильтрации уже потом покажу как допилить.
0
|
||
|
5 / 5 / 0
Регистрация: 11.09.2021
Сообщений: 578
|
|||||||||||||||||
| 30.10.2023, 12:22 [ТС] | |||||||||||||||||
|
Частями понимаю... В комплексе на ~70% понимаю... А чтобы оно обновлялось... не понимаю... Сделал примитивно: https://github.com/jhon65496/F... hon65496_3 Вроде удалил запись... В своих фантазиях ожидаю, что коллекция должна уведомить все View, которые её используют... INotifyPropertyChanged... Но увы... Вопросы 1. Можно ли размещать код в файлах "*.xaml.cs"*? Имею ввиду **SubjectsView.xaml.cs**. Читал в различных источниках: - нельзя размещать; - можно(нужно) размещать для UserControl. Как правильно? 2. SubjectsView.xaml.cs. Где создаётся Subject subject?Расположение: SubjectsView.xaml.cs Где создаётся Subject subject?Где присваивается значение Subject subject?Где создаётся Student student?Где присваивается значение Student student?Я понимаю типа такого:
У вас.
3. Как(Где) в MainWindowViewModel свойству SelectedSubject присваивается значение?В SubjectsView.xaml.cs?
0
|
|||||||||||||||||
|
Модератор
|
||||
| 30.10.2023, 18:02 | ||||
|
С точки зрения читаемости кода, принятых соглашений, рекомендаций, корректной работы Дизайнера XAML, то использование Code Behind не рекомендуется. SelectedItem="{Binding SelectedSubject}".mainVM.SelectedSubject.Вот это выражение mainVM.SelectedSubject is not Subject subject пытается получить из свойства mainVM.SelectedSubject экземпляр Subject и присвоить его локальной переменной subject. Так как в выражении задан not, то возвращается true если извлечение НЕ удалось. Например, в начальном соcтоянии, когда ещё не выбрана ни одна строчка, значение свойства будет null.
0
|
||||
| 30.10.2023, 18:02 | |
|
Как увеличить скорость загрузки страницы Потоки, увеличить скорость работы программы Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
|||
|
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
|
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#.
Название изменил на ColorStep.
Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
|
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами:
- ВидТО (СправочникСсылка. ВидыТО);
- ВидГСМ. . .
|
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала.
Ниже прикреплён. . .
|
|
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F
Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU.
Опрашиваются регистры. . .
|
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка:
Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
|
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо
Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
|
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман.
Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
|