0 / 0 / 0
Регистрация: 07.09.2017
Сообщений: 23
|
|
1 | |
Delphi 6-7 DBGridEh сохранение состояния сетки31.07.2024, 00:05. Показов 480. Ответов 5
Здравствуйте!
Помогите с задачей: Есть DBGridEh, строки которой могут быть отсортированы/отфильтрованы пользователем. Нужно одно из состояний сетки запомнить под неким именем. Например: "Все в 2024 году", "Все выбывшие" и тд... Есть метод SaveGridLayoutIni, сохраняющий состояние сетки в Ini. А мне нужно состояние сетки сохранить, вместе с неким именем. Для того, чтобы впоследствии, восстанавливать сохраненные состояния с помощью выпадающего списка. Куда копать, подскажите? Добавлено через 43 минуты Есть подозрения, что сетка делает некие действия с DataSet'ом: фильтрация, сортировка. А вот как программным способом сделать то, что пользователь натыкал на сетке?
0
|
31.07.2024, 00:05 | |
Ответы с готовыми решениями:
5
Сохранение рабочего состояния проекта Автоматическое сохранение в DBGridEh - Delphi Свойство DBGridEh.Columns[i].OptimizeWidth долго грузит DBGridEh Сохранение состояния |
пофигист широкого профиля
4754 / 3191 / 860
Регистрация: 15.07.2013
Сообщений: 18,487
|
|
31.07.2024, 02:23 | 2 |
Приведите декларацию этого метода. Если в нем можно задать имя секции ини файла, в которую делается запись, то нет проблем. Если нельзя, то облом.
P.S. У меня не установлена DBGridEh как и у большинства здесь присутствующих. Добавлено через 4 минуты Очень правильные подозрения. Именно так всё и происходит. Как сделать программно? Читайте книжки, мануалы и т.д. и т.п. И задавайте конкретные вопросы, если что-то не получается.
0
|
Модератор
|
|
31.07.2024, 05:05 | 3 |
BDGridEx не является "родным" компонентом, поэтому далеко не у всех он имеется и ответа Вы можете ждать долго. Но вот у производителя этого компонента есть свой форум (даю подсказку: первая ссылка в гугле по запросу ehlib форум). Почему бы не спросить непосредственно там?
1
|
0 / 0 / 0
Регистрация: 07.09.2017
Сообщений: 23
|
|
31.07.2024, 12:24 [ТС] | 4 |
SaveGridLayoutIni(const IniFileName: String; const Section: String; DeleteSection: Boolean);
Есть декларация секции. Таким образом можно из названий секций создать список? Тоже мысль. восстанавливать состояние можно методом: Код
RestoreGridLayoutIni(const IniFileName: String; const Section: String; RestoreParams: TDBGridEhRestoreParams); TDBGridEhRestoreParam = (grpColIndexEh, grpColWidthsEh, grpSortMarkerEh, grpColVisibleEh, grpRowHeightEh, grpDropDownRowsEh, grpDropDownWidthEh, grpRowPanelColPlacementEh); TDBGridEhRestoreParams = set of TDBGridEhRestoreParam;
0
|
3760 / 2264 / 705
Регистрация: 29.05.2013
Сообщений: 9,616
|
|
31.07.2024, 18:27 | 5 |
Сообщение было отмечено northener как решение
Решение
Возможно надо перечислить все значения из TDBGridEhRestoreParam в RestoreParams, а вообще надо бы посмотреть что собственно помещается в секцию Ini-файла при использовании SaveGridLayoutIni
1
|
0 / 0 / 0
Регистрация: 07.09.2017
Сообщений: 23
|
|
03.08.2024, 19:14 [ТС] | 6 |
Немного не то. Там сохраняется и восстанавливается состояние именно сетки: порядок столбцов, ширина, наличие и направление маркёров сортировки. А состояние DataSet'а - нет. Это - сами, ручками... Видимо - так. В общем, я плюнул, написал примитивненький генератор фильтров(он будет генерировать тот код SQL, который после WHERE), буду сохранять в таблице этот код, описание его человечьими словами и название фильтра. В нужный момент применять... А сетка EhLib... Ну у нее остались хорошие функции: RowPanel, выравнивание, заголовки... Будем работать!
Спасибо всем!
0
|
03.08.2024, 19:14 | |
03.08.2024, 19:14 | |
Помогаю со студенческими работами здесь
6
Сохранение состояния Сохранение состояния приложения Сохранение состояния страницы Сохранение состояния активности Сохранение состояния дерева Сохранение состояния ViewPager Сохранение состояния списка Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи | |||||
Как написать микросервис на Go/Golang с Kafka и GitHub CI/CD
InfoMaster 14.01.2025
Определение микросервиса, преимущества использования Go/ Golang
Микросервис – это архитектурный подход к разработке программного обеспечения, при котором приложение состоит из небольших, независимо. . .
|
Как написать микросервис с нуля на C# с RabbitMQ, CQRS и CI/CD
InfoMaster 14.01.2025
В современном мире разработки программного обеспечения микросервисная архитектура стала стандартом де-факто для создания масштабируемых и гибких приложений. Этот архитектурный подход предполагает. . .
|
Как создать интернет-магазин на PHP и JavaScript
InfoMaster 14.01.2025
В современном мире электронная коммерция стала неотъемлемой частью бизнеса. Создание собственного интернет-магазина открывает широкие возможности для предпринимателей, позволяя достичь большей. . .
|
Как написать Тетрис на Ассемблере
InfoMaster 14.01.2025
Тетрис – одна из самых узнаваемых и популярных компьютерных игр, созданная в 1984 году советским программистом Алексеем Пажитновым. За прошедшие десятилетия она завоевала симпатии миллионы людей по. . .
|
Как создать игру "Танчики" на Unity3d и C#
InfoMaster 14.01.2025
Разработка игр – это увлекательный процесс, сочетающий в себе творчество и технические навыки. В этой статье мы рассмотрим создание классической игры "Танчики" с использованием Unity3D и языка. . .
|
Организую платный онлайн микро-курс по доработке Android-клиента Telegram
_Ivana 14.01.2025
Официальная версия и распространенные форки не полностью устраивают? Сделай свою кастомную версию клиента!
4 занятия по 2 часа (2 недели пн, ср 19:00-21:00 по Москве).
Первое вводное занятие. . .
|
Как создать приложение для фитнеса для iOS/iPhone на Kotlin
InfoMaster 14.01.2025
Создание собственного фитнес-приложения — это не только захватывающий, но и полезный процесс, ведь оно может стать вашим верным помощником на пути к здоровому и активному образу жизни. В современных. . .
|
Как создать приложение магазина для iOS/iPhone на Swift
InfoMaster 14.01.2025
Введение в разработку iOS-приложений
Разработка приложений для iPhone и других устройств на базе iOS открывает огромные возможности для создания инновационных мобильных решений. В данной статье мы. . .
|
Это работает. Скорость асинхронной логики велика. Вопрос видимо останется в стабильности. Плата - огонь!
Hrethgir 13.01.2025
По прошлому проекту в Logisim Evolution https:/ / www. cyberforum. ru/ blogs/ 223907/ blog8781. html прилагаю файл архива проекта в Gowin Eda. Восьмибитный счётчик из сумматора+ генератор сигнала. . .
|
UserScript для подсветки кнопок языков программирования в зависимости от текущего раздела
volvo 13.01.2025
В результате работы этого скрипта подсвечиваются нужные кнопки не только в форме быстрого ответа, но и при редактировании сообщения:
/ / ==UserScript==
/ / @name CF_DefaultLangSelect
/ / . . .
|
Введение в модели и алгоритмы машинного обучения
InfoMaster 12.01.2025
Машинное обучение представляет собой одну из наиболее динамично развивающихся областей искусственного интеллекта, которая фокусируется на разработке алгоритмов и методов, позволяющих компьютерам. . .
|
Как на Python создать нейросеть для решения задач
InfoMaster 12.01.2025
В контексте стремительного развития современных технологий особое внимание уделяется таким инструментам, как нейросети. Эти структуры, вдохновленные биологическими нейронными сетями, используются для. . .
|