Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Панели в Grid / 4 сообщений из 4, страница 1 из 1
04.03.2004, 10:36
    #32430683
Pant
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Панели в Grid
Можно ли сделать так, чтобы некоторые столбцы Grid в левой панели были видны, а в правой - нет?
...
Рейтинг: 0 / 0
04.03.2004, 10:56
    #32430731
Панели в Grid
В VFP8 появилась возможность фиксировать колонки в гриде. Например, можно зафиксировать две левые колонки, и они всегда будут видны, а остальные будут прокручиваться.
В предыдущих версиях такой возможности нет.
...
Рейтинг: 0 / 0
04.03.2004, 11:42
    #32430855
Pant
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Панели в Grid
К сожалению, у меня 7.0...
...
Рейтинг: 0 / 0
08.03.2004, 19:33
    #32433962
andrush
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Панели в Grid
Пример: заморозка одной колонки слева
Свойство - oldLeftColumn = № предыдущейя левая колонка
Для заморозки более одной колонки слева необходимо
заменить во всех этих процедурах
FOR i=2 на FOR i=m
где m=№ колоки, следующей за замороженной
И для Scrolled поиграйся сам, не смог найти пример с заморозкой более одной колонки

******************************************
Procedure grid.AfterRowColChanged
LPARAMETERS nColIndex
IF ThisForm.oldLeftColumn<>this.LeftColumn
FOR i=2 TO this.LeftColumn
this.Columns .ColumnOrder=i-1
ENDFOR
this.Columns[1].ColumnOrder=this.LeftColumn
FOR i=this.LeftColumn+1 TO This.ColumnCount
this.Columns.ColumnOrder=i
ENDFOR
ThisForm.oldLeftColumn=this.LeftColumn
ELSE
IF (LASTKEY() = 19 OR LASTKEY() = 15) AND this.ActiveColumn = 1
FOR i=1 TO This.ColumnCount
this.Columns.ColumnOrder=i
ENDFOR
ThisForm.oldLeftColumn=this.LeftColumn
ENDIF
ENDIF
******************************************
Procedure grid.BeforeRowColChanged
LPARAMETERS nColIndex
IF (LASTKEY() = 4 OR LASTKEY() = 9 OR LASTKEY() = 13) AND ;
this.ActiveColumn = this.ColumnCount OR ;
(LASTKEY() = 19 OR LASTKEY() = 15) AND (this.ActiveColumn = 1 AND ThisForm.oldLeftColumn=1)
NODEFAULT
RETURN .F.
ENDIF
******************************************
Procedure grid.Scrolled
LPARAMETERS nDirection
DO CASE
CASE nDirection=5 OR nDirection=7 && Right Arrow
FOR i=2 TO this.LeftColumn
this.Columns.ColumnOrder=i-1
ENDFOR
this.Columns[1].ColumnOrder=this.LeftColumn
FOR i=this.LeftColumn+1 TO This.ColumnCount
this.Columns.ColumnOrder=i
ENDFOR
ThisForm.oldLeftColumn=this.LeftColumn
CASE nDirection=4 OR nDirection=6 && Left Arrow
IF ThisForm.oldLeftColumn<>this.LeftColumn
FOR i=2 TO this.LeftColumn
this.Columns.ColumnOrder=i-1
ENDFOR
this.Columns[1].ColumnOrder=this.LeftColumn
FOR i=this.LeftColumn+1 TO This.ColumnCount
this.Columns.ColumnOrder=i
ENDFOR
ThisForm.oldLeftColumn=this.LeftColumn
ELSE
IF (LASTKEY() = 19 OR LASTKEY() = 15) AND this.ActiveColumn = 1
FOR i=1 TO This.ColumnCount
this.Columns.ColumnOrder=i
ENDFOR
ThisForm.oldLeftColumn=this.LeftColumn
ENDIF
ENDIF
ENDCASE
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Панели в Grid / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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