FoxPro Club Главная

Конференция Решения Фотоальбом Сайт М.Дроздова Статьи Файловый архив Книга Visual FoxPro 9.0 Русский Help для Visual FoxPro
Пользователей: 9233
Вход
Делаем две строки в заголовке GRID

Бывает нужно сделать две строки в заголовке GRID: название колонки большое, а длина поля 3 знака. Вот тут-то и можно использовать класс NewHeader.


 
Прислал: Неизвестно   Категория: Интерфейс


Делаем две строки в заголовке GRID

Бывает нужно сделать две строки в заголовке GRID: название колонки большое, а длина поля 3 знака. Вот тут-то и можно использовать класс NewHeader.

Скачайте класс NewHeader и включите его в свой проект. Затем создайте форму и поместите на нее GRID. GRID нужно привязать к какой-нибудь таблице, но это как-бы само-собой разумеется.

В событие init формы пишем следующий код:

Set classlib to NewHeader
This.addObject('MyHeader','MyHeader',This.Grid1,50)
This.MyHeader.Visible=.T.
This.MyHeader.ScrollHeader()

Обратите внимание на строку This.addObject('MyHeader','MyHeader',This.Grid1,50). В ней число 50 указывает высоту заголовка (header) в пикселях. То есть смотрите, какой у вас самый высокий заголовок в указывайте его высоту. Естественно, что высота заголовка для всех столбцов будет одинаковая. И к тому же строк можно делать и три, и четыре.

Далее ... в события AfterRowColChange и Scrolled объекта GRID нужно вставить код: ThisForm.MyHeader.ScrollHeader() Метод ScrollHeader() следит за скроллингом и обновлением заголовка.

Заключительный шаг - это удаление объекта MyHeader из GRIDа, иначе ваша форма не закроется. Для этого вставьте в событие Destroy формы код:

ThisForm.MyHeader.GridObject = NULL

Объект удалиться и форма успешно закроется.

Скачать класс ...
 
Сделайте оценку этого решения Плохо Удовлетворительно Так себе Хорошо Отлично Текущая оценка: (4.917) Вложение [6.79]kb
Дополнения пользователей
Делаем две строки в заголовке GRID
[+][?]
Cobra
07.03.01 05:07:07

Залейте наконец класс !!!!
Iron Re:
Закачали :)
And@forpost.ru
26.03.01 07:20:05

У меня ширина грида равна ширине формы. В тоже время размер формы может изменяться. В тоже время,
общая ширина заголовков колонок остается фиксированной. :(
Можно ли это как-нить побороть?
And@forpost.ru Re:
Нужно строки Set classlib to NewHeader This.addObject('MyHeader','MyHeader',This.Grid1,50) This.MyHeader.Visible=.T. This.MyHeader.ScrollHeader() вставить последними в методе Resize, а перед ними строки IF type("ThisForm.MyHeader.Name") = "C" ThisForm.RemoveObject("MyHeader") ENDIF A в Init прописать Init.Resize Конечно все это через одно место, но работает.
Lena
20.06.01 02:40:56

Делаю все по инструкции, но после запуска формы на выполнение возникает сообщение:"Property GRID1
is not found"
(стр: This.addObject('MyHeader','MyHeader',This.Grid1,50) ).

И правда, никакого свойства Grid1 в классе 'MyHeader' не нахожу.

Что за оказия?

idiot_uk
23.07.01 09:27:02

И в правду ни какого свойства Grid1
Вобщем у меня та же самая проблемма 
And
26.07.01 08:13:16

Хотя фокс и говорит, что не найдено свойство, на самом деле он не может найти объект Grid1 с
именем Grid1 на форме и так не удачно ругается.
У меня все работает.
DrSerhio
07.08.01 16:11:23

При размещении GRID на PAGE у меня неверно формируются координаты. Лечится так: в предпоследнем
операторе метода Init заменить This.Left на ObjToClient(This.GridObject,2) и в пятой строке метода
ScrollHeader такая же замена ( This.Left на ObjToClient(This.GridObject,2) )
VVK
28.09.01 06:50:55

Где же все-таки можно скачать класс?
Все ссылки уводят на 404.html!
Admin note RE:
Можно качать
Александр
11.04.02 17:38:25

При попытке изменить header.backcolor (или forecolor), у какой-нибудь колонки созданного GRIDа, у
колонок едет крыша - на заголовке GRIDа появляется косая черта, и при попытке изменить размер
колонки мышью эта черта (наверное это естественно) продлевается на весь GRID. Вообще, если этого
не делать - то работает неплохо.
Александр
11.04.02 17:42:30

Извиняюсь, забыл добавить, что этот эффект происходит при попытке обработать DublClick Event у
Header на покрашеном Header-е. И покрасить его программно, из того же DublClick Event, не выходит.
Сергей
16.11.02 05:57:01

 в 7 foxe проблемы вообще нет. grid.WrapWord=.t. и 
GRID.hEADER.caption="Участок"+chr(13)+"отдел"
MaZZZ
09.02.03 19:43:15

Не хочет качаться этот класс
[Дополнить]



© 2000-2017 Fox Club 
При размещении любых материалов с сайта на других ресурсах- прямая ссылка на www.foxclub.ru обязательна
Яндекс.Метрика