Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Как закрепить столбец в гриде / 6 сообщений из 6, страница 1 из 1
17.06.2004, 19:02
    #32566173
василийЛ
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как закрепить столбец в гриде
Начинаю на фокс про
Как по правому клику на хедер
"закрепить" этот столбец
чтобы выпадало меню "закрепить" "открепить"
и было активно или неактивно, в зависимости от
наличия "закрепления" итд
Вообщем кк это красиво делают, гдето я видел
Можно с кодом, куда, и как поподробнее
заранее сенкс
...
Рейтинг: 0 / 0
18.06.2004, 09:47
    #32566566
Как закрепить столбец в гриде
То, что Вы хотите, можно сделать только на VFP8. В Grid есть свойство LockColumns, позволяющее "зафиксировать" N колонок, начиная с крайней левой. Подойдёт?
...
Рейтинг: 0 / 0
18.06.2004, 09:55
    #32566585
ВасилийЛ
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как закрепить столбец в гриде
да подойдет, я на 8-ке
тока бы при выходе
из формы как то все открепить,
потому что у меня используется класс
сохранения размера и порядка следования в гриде, которые запоминаются в таблицу
*если это завязано на ColumnOrder
про свойство то это я знаю, тока немогу прилепить
мню ко всем колонкам, вернее хедерам
Если поможите кодом, должен буду :-)
спасибо
...
Рейтинг: 0 / 0
18.06.2004, 13:05
    #32567104
Как закрепить столбец в гриде
К сожалению, завалили работой... В принципе, это несложно, но кода достаточно много будет. Может, кто из корифеев посвободнее будет и поможет человеку?
...
Рейтинг: 0 / 0
18.06.2004, 14:29
    #32567407
ВасилийЛ
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как закрепить столбец в гриде
Вот сам чего покопался, получилось
Но проблема осталась такая
код навешан на mousedown хедера
но вот в чем проблема:
Хочу сделать подсветку "закрепленного столбца", все получается,
но вот закрепляю другой столбец, а подсветка сохраняется.
как перекинуть ее в дефолтную
Спасибо

LPARAMETERS nButton, nShift, nXCoord, nYCoord
IF nButton = 2
LOCAL cBar as Integer
cBar = 0
DEFINE POPUP shortcut SHORTCUT RELATIVE FROM MROW(),MCOL()

DEFINE BAR 1 OF shortcut PROMPT "Закрепить столбец" &&PICTURE This.PicturesAsc
DEFINE BAR 2 OF shortcut PROMPT "Открепить столбец" &&PICTURE This.PicturesDes
DEFINE BAR 3 OF shortcut PROMPT "\-"
DEFINE BAR 4 OF shortcut PROMPT "Сортировка по возрастанию" &&PICTURE This.PicturesDes
DEFINE BAR 5 OF shortcut PROMPT "Сортировка по убыванию" &&PICTURE This.PicturesDes


ON SELECTION BAR 1 OF shortcut cBar = 1
ON SELECTION BAR 2 OF shortcut cBar = 2
ON SELECTION BAR 3 OF shortcut cBar = 4
ON SELECTION BAR 4 OF shortcut cBar = 5
ON SELECTION BAR 5 OF shortcut cBar = 6

ACTIVATE POPUP shortcut
DO CASE
CASE cBar = 1
This.Parent.Parent.LockColumns=0
This.Parent.Parent.LockColumns=This.Parent.ColumnOrder
this.parent.BackColor= 8454143
CASE cBar = 2
this.parent.BackColor = 16777215
This.Parent.Parent.LockColumns=0
CASE cBar = 4
*This.Parent.Parent.LockColumns=0
CASE cBar = 5
*This.Parent.Parent.LockColumns=0
OTHERWISE
RETURN
ENDCASE
This.parent.parent.Refresh()
This.parent.SetFocus()
ENDIF
...
Рейтинг: 0 / 0
18.06.2004, 17:42
    #32567994
Как закрепить столбец в гриде
Ну вот видите, всё не так сложно.
А "сбросить" подсветку для всех колонок Grid'a поможет метод SetAll. Перед тем, как подсвечивать конкретную колонку, установите "фоновый цвет" для всех колонок с помощью этого метода, а уже потом установите цвет для выбранной колонки.
И ещё я бы порекомендовал формировать код меню в некоей переменной по условиям, например, если колонка уже подсвечена, то оставлять только пункт об отмене подсветки. А потом запускал бы это меню через ExecScript.
В общем, широкое поле для творчества. Удачи!!!
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Как закрепить столбец в гриде / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]