![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Вопрос по 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]Оно тебе правильно устанавливает, тогда какая разница где хранит, а если неправильно то установи сам.