Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Выделение строк цветом в нескольких гридах / 4 сообщений из 4, страница 1 из 1
28.04.2008, 10:46
    #35282918
julva
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выделение строк цветом в нескольких гридах
Здравствуйте! Помогите пожалуйста разобраться!

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

Выделение строки цветом в одном гриде сделано так:

*****************************
в AfterRowColChange

WITH This
podsv = Recno()
.Refresh()
ENDWITH

***************************
в Ините:

public podsv
podsv=0
WITH This
podsv = Recno()
.SetAll("DynamicBackColor", ;
"IIF(podsv = Recno(), RGB(210,210,166), RGB(255,255,255))", "Column")

Thisform.Grid4.SetAll ("DynamicBackColor", ;
"IIF(podsv = Recno(), RGB(210,210,166), RGB(255,255,255))", "Column")

ENDWITH

А как сделать то же самое, только чтобы строки выделялись сразу у всех гридов, а не у одного???
...
Рейтинг: 0 / 0
28.04.2008, 11:08
    #35282988
julva
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выделение строк цветом в нескольких гридах
Пожалуйста помогите!!!
...
Рейтинг: 0 / 0
28.04.2008, 11:30
    #35283061
Aleksey-K
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выделение строк цветом в нескольких гридах
julvaПожалуйста помогите!!!
1. У грида есть набор свойств, начинающихся с Highligt.. (HighligtStyle, HighligtForeColor, ...), которые позволяют переложить на VFP выделение текущей строки в гриде. Почитайте help по ним.
2. Если хочется все-таки занятся этим самому, то надо создать свой класс грид, добавить в него свойство Podsv и код в метод AfterROwColChange:
Код: plaintext
1.
2.
3.
4.
5.
6.
WITH THIS
   IF !EMPTY(.RecordSource) AND USED(.RecordSource)
       .podsv = RECNO(.RecordSource)
   ENDIF
   THISFORM.Refresh()
ENDWITH
А в его событие INIT уже в форме добавить примерно такой код:
Код: plaintext
1.
2.
3.
WITH THIS
   .SetAll("DynamicBackColor", "IIF(THIS.podsv = Recno('MyTable'), RGB(210,210,166), RGB(255,255,255))", "Column") 
ENDWITH
, где 'MyTable' - имя вашей таблицы (курсора). Он на моменет INIT грида должен уже существовать.
С уважением, Алексей
...
Рейтинг: 0 / 0
28.04.2008, 12:06
    #35283168
julva
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выделение строк цветом в нескольких гридах
Алексей, спасибо Вам большое, все получилось :)!!!
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Выделение строк цветом в нескольких гридах / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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