Страница 1 из 1

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

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

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

Добавлено: 27 авг 2019, 19:54
admin
Пока нет возможности.

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

Добавлено: 06 сен 2019, 09:41
Frost
Кода получилось на чуть более ста строк. Вместо этой "простыни" я, пожалуй, лучше опишу саму идею.

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

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

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

Добавлено: 06 сен 2019, 09:50
Develop-Soft
Frost писал(а):Позитивные мысли и идеи по предложенной теме приветствуются.

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

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

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

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

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

Добавлено: 06 сен 2019, 10:24
Develop-Soft
Frost писал(а):я не отец. Еще молод для отцовства.

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

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

Добавлено: 06 сен 2019, 11:12
Develop-Soft
Frost писал(а):Позитивные мысли и идеи по предложенной теме приветствуются.

Мысли: dxdb_icon xy_mouse_click