Последняя версия DataExpress 3 beta от 15 сентября 2020 года.

Изображение Скачать | Изображение Что нового?



Объявление:

Если вам понравилась программа и вы ее интенсивно используете - замолвите словечко о ней на вашем сайте (блоге, форуме, твитере, краской на подъезде, ютуб-канале и т.д.) с активной (по-возможности) ссылкой на сайт программы/форум. Тем самым вы можете внести небольшой вклад в seo-карму проекта в виде входящих ссылок.
Спасибо! Администрация :)


>> Обсудить <<

Программная сортировка данных

Все вопросы, связанные с написанием скриптов и SQL-запросов.
Frost
Эксперт
Сообщения: 17
Зарегистрирован: 12 апр 2017, 13:17

Программная сортировка данных

Сообщение Frost » 27 авг 2019, 16:18

Сортировка задается в дизайнере. В режиме RunTime меняется кликом на заголовке таблицы. Вопрос: можно ли отсортировать данные в таблице программно и можно ли программно выяснить какой столбец имеет сортировку? Спасибо.

Аватара пользователя
admin
Разработчик
Сообщения: 5196
Зарегистрирован: 14 мар 2016, 11:32
Откуда: Ленинградская
Благодарил (а): 41 раз
Поблагодарили: 341 раз

Программная сортировка данных

Сообщение admin » 27 авг 2019, 19:54

Пока нет возможности.

Frost
Эксперт
Сообщения: 17
Зарегистрирован: 12 апр 2017, 13:17

Программная сортировка данных

Сообщение Frost » 06 сен 2019, 09:41

Кода получилось на чуть более ста строк. Вместо этой "простыни" я, пожалуй, лучше опишу саму идею.

Итак, как я уже говорил, нам не доступны разделительные линии в фиксированной области (в области заголовка). По дефолту у меня на Win7 они рисуются черным цветом толщиной в 1px. Эта маленькая "визуальная деталь" вносит диссонанс в общий дизайн таблицы, выполненый в пастельных желтоватых тонах. Раз мы не можем влиять на заголовок - скроем его. Но нет... При скрытии заголовка возникает трабла с открытием записи из первой строки таблицы (см мой пост в начале). Хорошо, тогда просто накроем заголовок панелью и уже на ней нарисуем то что нам нужно (линии нужного вида и текст заголовков колонок). Выглядит отлично. Но топерь сложно манипулировать геометрическими размерами полученной таблицы, так как она состоит из двух элементов (TFormView и TPanel). Ок. Разместим их внутри еще одной панели TPanel (я назвал ее Substrate, что переводится как подложка). Теперь мы легко можем менять позицию таблицы и ее размеры. В результате этих манипуляций мы получили желаемый вид таблицы, но потеряли два важных свойства, а именно возможность менять ширину колонок перетаскиванием их границ мышью, а так же возможность смены сортировки, кликом по заголовку. Если первое свойство еще как то можно попробовать реализовать через свойство TPanel.OnMouseMove, то сортировку программно не реализовать вообще (см. ответ разработчика).

Позитивные мысли и идеи по предложенной теме приветствуются. С уважением, Frost.

Аватара пользователя
Develop-Soft
Сообщения: 1839
Зарегистрирован: 05 мар 2019, 18:09
Благодарил (а): 122 раза
Поблагодарили: 502 раза
Контактная информация:

Программная сортировка данных

Сообщение Develop-Soft » 06 сен 2019, 09:50

Frost писал(а):Позитивные мысли и идеи по предложенной теме приветствуются.

Отец, да тебя надо в команду разработки DX привлекать... ;)
Можно попробовать из винапи дёрнуть эмуляцию клика мыша и ретранслировать навниз (туда, где спрятан заголовок).

Frost
Эксперт
Сообщения: 17
Зарегистрирован: 12 апр 2017, 13:17

Программная сортировка данных

Сообщение Frost » 06 сен 2019, 10:16

Спасибо. Я с удовольствием присоединюсь к команде, если поступит приглашение. ;) И еще - я не отец. Еще молод для отцовства. Хотя, может уже и пора... мда. :D

P.S. Не в ту ветку разместил пост-ответ. Сейчас продублирую в то место, где был задан вопрос.

Аватара пользователя
Develop-Soft
Сообщения: 1839
Зарегистрирован: 05 мар 2019, 18:09
Благодарил (а): 122 раза
Поблагодарили: 502 раза
Контактная информация:

Программная сортировка данных

Сообщение Develop-Soft » 06 сен 2019, 10:24

Frost писал(а):я не отец. Еще молод для отцовства.

Это была форма фамильярно-братского обращения. ;) (Моему отцу бы более 70-ти...)

Аватара пользователя
Develop-Soft
Сообщения: 1839
Зарегистрирован: 05 мар 2019, 18:09
Благодарил (а): 122 раза
Поблагодарили: 502 раза
Контактная информация:

Программная сортировка данных

Сообщение Develop-Soft » 06 сен 2019, 11:12

Frost писал(а):Позитивные мысли и идеи по предложенной теме приветствуются.

Мысли: dxdb_icon xy_mouse_click


Вернуться в «Программирование в DataExpress»