Ситуация такая: количество колонок больше чем может отобразить объект TDBGrid, естественно для просмотра всех колонок появилась полоса прокрутки в нижней части объекта. Используя полосу, я могу остановить колонки в любое положение, однако стоит объекту типа TQuery отработать запрос, как положение колонок возвращается к крайней левой колонке.
Вопрос: как зафиксировать положение колонок в объектах типа TDBGrid, или выставить положение колонок нужним мне образом?
Здравствуйте, BootRoman, Вы писали:
BR>однако стоит объекту типа TQuery отработать запрос, как положение колонок возвращается к крайней левой колонке.
BR> Вопрос: как зафиксировать положение колонок в объектах типа TDBGrid, или выставить положение колонок нужним мне образом?
Можно в design-time. А можно перед закрытием запроса (BeforeClose) запоминать паораметры колонок и после открытия (AfterOpen) восстанавливать.
Для этого есть много компонентов — например, в RX.
... << RSDN@Home 1.1.4 beta 4 rev. 302>>
Здравствуйте, BootRoman, Вы писали:
BR> Используя полосу, я могу остановить колонки в любое положение, однако стоит объекту типа TQuery отработать запрос, как положение колонок возвращается к крайней левой колонке.
И это правильно, ведь запрос может возвращать любое кол-во столбцов, отличных от первоначального набора...
Надо запоминать программно, где находился и подставлять после отображения...
BR> Вопрос: как зафиксировать положение колонок в объектах типа TDBGrid, или выставить положение колонок нужним мне образом? 
Можно в ДБгриде отображать только нужные колонки...
есть свойства отображения колонок не по умолчанию всех, а вручную...
типа того
dbgrid1.Columns.Add;
dbgrid1.Columns[0].Field:=Tfield;
И тогда колонки не будут отображаться все и в произвольном порядке... а будут в таком в котором ты укажешь и только те, которые укажешь....
... << RSDN@Home 1.1.4 beta 3 rev. 185>>
Здравствуйте, BootRoman, Вы писали:
BR>Вопрос как запомнить состояние бегунка?
Внятнее пиши вопросы

Возможно, необходимо запоминать выбранную колонку.
Это делается точно также — на BeforClose датасета запоминаешь, на AfterOpen восстанавливаешь.
Для выделенной колонки делается с помошью свойст TDBGrid — SelectedField и SelectedIndex.
Если надо и в самом деле запоминать положение бегунка на скроллбаре, то пользуемся
функциями WinAPI — ScrollWindow и GetScrollInfo.
... << RSDN@Home 1.1.4 beta 4 rev. 302>>