Колонки в TDBGrid
От: BootRoman  
Дата: 23.03.05 08:22
Оценка:
Ситуация такая: количество колонок больше чем может отобразить объект TDBGrid, естественно для просмотра всех колонок появилась полоса прокрутки в нижней части объекта. Используя полосу, я могу остановить колонки в любое положение, однако стоит объекту типа TQuery отработать запрос, как положение колонок возвращается к крайней левой колонке.
Вопрос: как зафиксировать положение колонок в объектах типа TDBGrid, или выставить положение колонок нужним мне образом?
Re: Колонки в TDBGrid
От: kavlad Россия http://www.wavesoft.ru
Дата: 23.03.05 14:33
Оценка:
Здравствуйте, BootRoman, Вы писали:

BR>однако стоит объекту типа TQuery отработать запрос, как положение колонок возвращается к крайней левой колонке.

BR> Вопрос: как зафиксировать положение колонок в объектах типа TDBGrid, или выставить положение колонок нужним мне образом?

Можно в design-time. А можно перед закрытием запроса (BeforeClose) запоминать паораметры колонок и после открытия (AfterOpen) восстанавливать.
Для этого есть много компонентов — например, в RX.
... << RSDN@Home 1.1.4 beta 4 rev. 302>>
Re: Колонки в TDBGrid
От: Vodyamba Россия  
Дата: 23.03.05 23:38
Оценка:
Здравствуйте, BootRoman, Вы писали:

BR> Используя полосу, я могу остановить колонки в любое положение, однако стоит объекту типа TQuery отработать запрос, как положение колонок возвращается к крайней левой колонке.

И это правильно, ведь запрос может возвращать любое кол-во столбцов, отличных от первоначального набора...
Надо запоминать программно, где находился и подставлять после отображения...

BR> Вопрос: как зафиксировать положение колонок в объектах типа TDBGrid, или выставить положение колонок нужним мне образом?

Можно в ДБгриде отображать только нужные колонки...
есть свойства отображения колонок не по умолчанию всех, а вручную...

типа того

dbgrid1.Columns.Add;
dbgrid1.Columns[0].Field:=Tfield;


И тогда колонки не будут отображаться все и в произвольном порядке... а будут в таком в котором ты укажешь и только те, которые укажешь....
... << RSDN@Home 1.1.4 beta 3 rev. 185>>
Re: Колонки в TDBGrid
От: BootRoman  
Дата: 24.03.05 05:26
Оценка:
Здравствуйте, BootRoman, Вы писали:

Небольшое пояснение: как создать колонки и поля в дизайн тайм или командно я знаю. Запрос каждый раз один и тот-же, просто количесво выводимых полей велико и пользователь должен был их просматривать просто передвигая бегунок горизонтальной прокрутки. Проблема в том, что после отработки запроса бегунок прыгает в крайнее левое положение. Вопрос как запомнить состояние бегунка?
Re[2]: Колонки в TDBGrid
От: kavlad Россия http://www.wavesoft.ru
Дата: 24.03.05 06:41
Оценка:
Здравствуйте, BootRoman, Вы писали:

BR>Вопрос как запомнить состояние бегунка?


Внятнее пиши вопросы
Возможно, необходимо запоминать выбранную колонку.
Это делается точно также — на BeforClose датасета запоминаешь, на AfterOpen восстанавливаешь.
Для выделенной колонки делается с помошью свойст TDBGrid — SelectedField и SelectedIndex.

Если надо и в самом деле запоминать положение бегунка на скроллбаре, то пользуемся
функциями WinAPI — ScrollWindow и GetScrollInfo.
... << RSDN@Home 1.1.4 beta 4 rev. 302>>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.