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

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



Объявление:

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


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


Внимание! Кража данных


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

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

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

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

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

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

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

Сообщение 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
Сообщения: 1940
Зарегистрирован: 05 мар 2019, 18:09
Благодарил (а): 123 раза
Поблагодарили: 540 раз
Контактная информация:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Мысли: dxdb_icon xy_mouse_click


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