Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Вопрос по DBGrid.Columns!


F... ©   (2004-03-09 12:47:00) 

Имеем DBGrid с заполнеными колонками (Columns). Изменяем состояние однй из колонок Columns[1].Visible:=False;
Теперь смотрим Columns[1].Width и видим -1. Возвращаем Columns[1].Visible:=True и опять смотрим ширину колонки (Columns[1].Width) видим исходное значение 150.

Внимание вопрос: Где же DBGrid.Columns хранит исходное значение ширины колонки? Сразу скажу, что 150 это не значение по умолчанию!


Vlad40   (2004-03-09 14:04:00) [1]

А ты запоминай состояние видимости колонок, потом делай все видимыми и давай пользователю их настраивать, а после настройки устанавливай состояние видимости с учетом изменений пользователя


F...   (2004-03-09 13:30:00) [2]

2 Reindeer Moss Eater
Я так понимаю, что нужно или исходники править или своего наследника делать?

2 Janbolat
В программе необходимо сделать возможность настраивать DBGrid, а именно 2 параметра Visible и Width. Все это настраивается в отдельном окне. Так вот в первый раз когда пользователь откроет окно, то увидит, что для всех колонок установлен признак "видимости" и для всех колонок имеется значение ширины (больше нуля). Затем пользователь скрывает некоторые поля. Повторное открытие формы покажет значение ширины -1 для скрытых колонок, хотя реально ширина далеко не -1! Так вот и хотелось бы показывать реальное значение!


Janbolat   (2004-03-09 13:12:00) [3]

а зачем тебе вообще это значение, ты что с ним собираешься делать?


Reindeer Moss Eater   (2004-03-09 13:01:00) [4]

В поле класса TColumn. Где же еще?

function TColumn.GetWidth: Integer;
begin
 if not Showing then
   Result := -1
 else if cvWidth in FAssignedValues then
   Result := FWidth
 else
   Result := DefaultWidth;
end;


Stas   (2004-03-09 12:58:00) [5]

Если уж очень нужно, то
можно посмотреть в исходниках.


Anatoly Podgoretsky   (2004-03-09 12:56:00) [6]

Оно тебе правильно устанавливает, тогда какая разница где хранит, а если неправильно то установи сам.


Наверх

Титульная страница Поиск, карта сайта Написать письмо