Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Как в грид получить тельняшку? / 8 сообщений из 8, страница 1 из 1
12.05.2008, 12:05
    #35306037
vlgrech
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как в грид получить тельняшку?
Подскажите как в грид получить тельняшку? Строки могут плавать.
...
Рейтинг: 0 / 0
12.05.2008, 12:32
    #35306133
AleksMed
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как в грид получить тельняшку?
vlgrechПодскажите как в грид получить тельняшку? Строки могут плавать.
Никак.
...
Рейтинг: 0 / 0
12.05.2008, 12:46
    #35306178
Sovereign
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как в грид получить тельняшку?
Dynamically format grid columns
C:\PROGRAM FILES\MICROSOFT VISUAL FOXPRO 9\SAMPLES\Solution\controls\grid

выббираем Ledger Style
...
Рейтинг: 0 / 0
12.05.2008, 12:59
    #35306224
AleksMed
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как в грид получить тельняшку?
Sovereign Dynamically format grid columns
C:\PROGRAM FILES\MICROSOFT VISUAL FOXPRO 9\SAMPLES\Solution\controls\grid

выббираем Ledger Style
Если это наводка на RECNO()%2, то вряд ли это поможет в данном случае.
...
Рейтинг: 0 / 0
12.05.2008, 13:03
    #35306235
Burn
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как в грид получить тельняшку?
C:\PROGRAM FILES\MICROSOFT VISUAL FOXPRO 9\SAMPLES\Solution\controls\grid
Насколько я помню - там привяхка к номеру строки. Если у человека задествованы индексы то все поламается. Гдето на www.foxclub.ru или в решениях или так в обсуждениях был вариант класса где динамически расчитывалися полоски. Достаточно громоздкий но на быстрых машинах работающий (а медленых счас практически нет) Автора темы уже не помню :(
...
Рейтинг: 0 / 0
12.05.2008, 13:32
    #35306338
Sovereign
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как в грид получить тельняшку?
AleksMedЕсли это наводка на RECNO()%2, то вряд ли это поможет в данном случае.

* В Grid вставляется в событие INIT

Код: plaintext
1.
THISFORM.grid1.SETALL("dynamicBackColor", "IIF(MOD(THISFORM.grid1.ActiveRow(), 2)=0, RGB(255,255,255), RGB(234,234,234))", "Column") 
THISFORM.grid1.SETALL("dynamicForeColor", "IIF(MOD(THISFORM.grid1.ActiveRow(), 2)=0, RGB(0,0,0), RGB(255,0,0))", "Column")
...
Рейтинг: 0 / 0
12.05.2008, 13:36
    #35306354
AleksMed
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как в грид получить тельняшку?
Sovereign AleksMedЕсли это наводка на RECNO()%2, то вряд ли это поможет в данном случае.

* В Grid вставляется в событие INIT

Код: plaintext
1.
THISFORM.grid1.SETALL("dynamicBackColor", "IIF(MOD(THISFORM.grid1.ActiveRow(), 2)=0, RGB(255,255,255), RGB(234,234,234))", "Column") 
THISFORM.grid1.SETALL("dynamicForeColor", "IIF(MOD(THISFORM.grid1.ActiveRow(), 2)=0, RGB(0,0,0), RGB(255,0,0))", "Column")

И что, это будет "матрас"? :)
...
Рейтинг: 0 / 0
12.05.2008, 13:38
    #35306368
Burn
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как в грид получить тельняшку?
Так. Нашел. Автора с сожалению не помню.

В Init-е формы
Код: plaintext
1.
=This.SetAll('DynamicBackColor', 'Iif(ThisForm.Grid1.GetRow() % 2 = 0, '+LTrim(Str(RGB( 230 , 240 , 255 )))+', '+LTrim(Str(RGB( 255 ,  255 ,  255 )))+')', 'Column')

Где GetRow новый метод формы:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
LPARAMETERS DataBase
LOCAL nRecNo, nRow, R, N, I

IF Empty(DataBase)
   SELECT (THIS.RECORDSOURCE)
ELSE
   SELECT (DataBase)
   GO Recno(THIS.RECORDSOURCE)
ENDIF

nRecNo = RECNO()
nRow =  0 

* на две строки вверх - DownArrow, UpArrow
R =  0 
DO WHILE NOT BOF() AND (R <  2 )
   IF RECNO() = THIS.nLastRecNo
      nRow = THIS.nLastRow + R
      EXIT
   ENDIF
   SKIP - 1 
   R = R +  1 
ENDDO
IF BOF()
   nRow = R
ENDIF
IF nRecNo > Reccount()
   GOTO BOTT
ELSE
   GOTO nRecNo
ENDIF

IF EMPTY(nRow)
* на два экрана вниз - PageDown, PageUp
   N =  0 
   IF INLIST(THIS.SCROLLBARS,  1 ,  3 )
      N = SYSMETRIC( 8 ) +  1 
   ENDIF
   N = INT((THIS.HEIGHT - THIS.HEADERHEIGHT -  1  - N) / THIS.ROWHEIGHT)
   N = N *  2 
   R =  0 
   DO WHILE NOT EOF() AND (R < N)
      IF RECNO() = THIS.nLastRecNo
         nRow = THIS.nLastRow - R
         EXIT
      ENDIF
      SKIP + 1 
      R = R +  1 
   ENDDO
   IF nRecNo > Reccount()
      GOTO BOTT
   ELSE
      GOTO nRecNo
   ENDIF
ENDIF

IF EMPTY(nRow)
* до упора вверх - Ctrl+End, Ctrl+Home
   R =  0 
   DO WHILE NOT BOF()
      IF RECNO() = THIS.nLastRecNo
         nRow = THIS.nLastRow + R
         EXIT
      ENDIF
      SKIP - 1 
      R = R +  1 
   ENDDO
   IF BOF()
      nRow = R
   ENDIF
   IF nRecNo > Reccount()
      GOTO BOTT
   ELSE
      GOTO nRecNo
   ENDIF
ENDIF

THIS.nLastRecNo = nRecNo
THIS.nLastRow = nRow

SELECT (THIS.RECORDSOURCE)

RETURN nRow

соотвкествено гриду нужны дополнительные свойства nLastRecNo и nLastRow
Как это работает не разбирался но работает:)
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Как в грид получить тельняшку? / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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