Гость
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Выделение активной строки в классе GRID / 13 сообщений из 13, страница 1 из 1
19.10.2010, 11:29
    #36907005
LUCIAN
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выделение активной строки в классе GRID
Для выделения активной строки в grid использую
Код: plaintext
1.
2.
3.
	PROCEDURE Init
		this.nrecno=RECNO()
		this.SetAll("DynamicBackColor" ,;
и
Код: plaintext
1.
	PROCEDURE AfterRowColChange
В oop_last.rar имеется класс grd,в котором активная строка выделяется,но не могу понять каким способом ?
...
Рейтинг: 0 / 0
19.10.2010, 11:35
    #36907033
igorbik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выделение активной строки в классе GRID
LUCIAN,

1) На 9-ке в свойствах Грида есть возможность подсвечивать активную строку
2) если фоксовые цвета не нравятся, ищи в форуме, неоднократно эта тема обсуждалась
3) найди на universalthread.com класс gridhighlighter Ника Неклюдова. Им очень легко пользоваться для подсветки, в том числе и активной строки.
...
Рейтинг: 0 / 0
19.10.2010, 11:54
    #36907099
LUCIAN
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выделение активной строки в классе GRID
igorbik,
Спасибо!,действительно,если
Код: plaintext
.AllowCellSelection=.F.
,то активная строка будет выделена
...
Рейтинг: 0 / 0
19.10.2010, 12:37
    #36907230
LUCIAN
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выделение активной строки в классе GRID
igorbikLUCIAN,
2) ищи в форуме, неоднократно эта тема обсуждалась
3) найди на universalthread.com класс gridhighlighter Ника Неклюдова. Им очень легко пользоваться для подсветки, в том числе и активной строки.

OOP_LAST.RAR я как раз на этом форуме и нашел и хочу в классах из OOP_LAST.RAR разобраться, а послать к Нике Неклюдовой всякий может
...
Рейтинг: 0 / 0
19.10.2010, 12:46
    #36907252
прошелмимо
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выделение активной строки в классе GRID
LUCIANigorbikLUCIAN,
2) ищи в форуме, неоднократно эта тема обсуждалась
3) найди на universalthread.com класс gridhighlighter Ника Неклюдова. Им очень легко пользоваться для подсветки, в том числе и активной строки.

OOP_LAST.RAR я как раз на этом форуме и нашел и хочу в классах из OOP_LAST.RAR разобраться, а послать к Нике Неклюдовой всякий может

гы, ой, не прошло и 2-х лет, как его нашли

ну по св-ву,
которое автоматом подсвечивает строку
уже подсказали.

так что там еще интересно.
в том примере с неким разбором шагов интересна не подсветка и т.д.,
а интересен некий принцип(стиль) разработки,
в котором предусмотрена некая взаимосвязь классов,
наследование,
некий способ настройки форм отображения списков,
хранения настроек, получения на основе этих настроек данных,
использование спец. классов посредников
и т.д.
...
Рейтинг: 0 / 0
19.10.2010, 13:21
    #36907359
LUCIAN
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выделение активной строки в классе GRID
прошелмимо
ну по св-ву,
которое автоматом подсвечивает строку
уже подсказали.

так что там еще интересно.
в том примере с неким разбором шагов интересна не подсветка и т.д.,
а интересен некий принцип(стиль) разработки,
в котором предусмотрена некая взаимосвязь классов,
наследование,
некий способ настройки форм отображения списков,
хранения настроек, получения на основе этих настроек данных,
использование спец. классов посредников
и т.д.

В классе GRD для подсветки строки .AllowCellSelection=.F. как раз и не используется,так как при
.AllowCellSelection=.F. grid не корректируется. Этот класс используется исключительно для
курсорадаптеров ?
Из oop_last.rar я извлёк GRIDTOEXCELL и начал применять в своих формах в виде кнопки с кодом:
Код: plaintext
1.
2.
3.
oGrid=This.parent.grdOsto
cFileName=''
DO GRIDTOEXCELL WITH oGrid,cFileName
...
Рейтинг: 0 / 0
19.10.2010, 14:00
    #36907462
прошелмимо
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выделение активной строки в классе GRID
LUCIANпрошелмимо
ну по св-ву,
которое автоматом подсвечивает строку
уже подсказали.

так что там еще интересно.
в том примере с неким разбором шагов интересна не подсветка и т.д.,
а интересен некий принцип(стиль) разработки,
в котором предусмотрена некая взаимосвязь классов,
наследование,
некий способ настройки форм отображения списков,
хранения настроек, получения на основе этих настроек данных,
использование спец. классов посредников
и т.д.

В классе GRD для подсветки строки .AllowCellSelection=.F. как раз и не используется,так как при
.AllowCellSelection=.F. grid не корректируется. Этот класс используется исключительно для
курсорадаптеров ?
Из oop_last.rar я извлёк GRIDTOEXCELL и начал применять в своих формах в виде кнопки с кодом:
Код: plaintext
1.
2.
3.
oGrid=This.parent.grdOsto
cFileName=''
DO GRIDTOEXCELL WITH oGrid,cFileName


гы, это каласс может использоваться для чего угодно.
в этом проекте просто посредством КАДа тянут данные
и + к его настройкам есть доп.настройки с добавчиком
для настройки внешнего вида морды лица.

это фенечки.
Вы не с того начали,
и не заметили самого главного.

главное - это как раз принцип разработки
некой архитектуры,
которая позволяет рулить масштабирование
посредством изменения настроек-метаданных,
а для этого показан пример разработки
особых заготовок,для которых все это
добро предназначено.

+ там показан особый стиль - приемы ООП в фокспро.
а фенечки - это так - замеждупрочим.
...
Рейтинг: 0 / 0
19.10.2010, 14:15
    #36907509
igorbik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выделение активной строки в классе GRID
LUCIANigorbikLUCIAN,
3) найди на universalthread.com класс gridhighlighter Ника Неклюдова. Им очень легко пользоваться для подсветки, в том числе и активной строки.
послать к Нике Неклюдовой всякий может
Я посылал к мужику, а не женщине.
Всякий это тоже не может, вот ведь Вы нигде кроме как здесь не искали? А мужик пишет классы must have. Благодаря им у меня работают все подсветки гридов, и при этом по разным условиям по-разному! А его класс griddragdropper вообще без аналогов!
...
Рейтинг: 0 / 0
19.10.2010, 15:07
    #36907694
прошелмимо
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выделение активной строки в классе GRID
igorbikLUCIANigorbikLUCIAN,
3) найди на universalthread.com класс gridhighlighter Ника Неклюдова. Им очень легко пользоваться для подсветки, в том числе и активной строки.
послать к Нике Неклюдовой всякий может
Я посылал к мужику, а не женщине.
Всякий это тоже не может, вот ведь Вы нигде кроме как здесь не искали? А мужик пишет классы must have. Благодаря им у меня работают все подсветки гридов, и при этом по разным условиям по-разному! А его класс griddragdropper вообще без аналогов!

а ничего, что классы писались под раннии версии,
и для 9-ки некоторые решения являются лисапедом?

нет, как для "подсмотреть" что-то вполне приемлимый вариант.
...
Рейтинг: 0 / 0
19.10.2010, 15:50
    #36907880
LUCIAN
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выделение активной строки в классе GRID
Кажется я нашел, где в классе grd выделяются строки это
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
	PROCEDURE KeyPress
		LPARAMETERS nKeyCode, nShiftAltCtrl
		with this
			If (nShiftAltCtrl= 1  and Inlist(nKeyCode,  42 ,  43 ,  45 ,  50 ,  56 ,  86 )) ;
			   or ;
			   (nShiftAltCtrl= 2  and Inlist(nKeyCode, 146 ,  147 ))
			   
				if nShiftAltCtrl= 1  and nKeyCode= 86   and version( 2 )= 2    &&  shift + F3
					nodefault 
					select (.RecordSource)
					browse normal
				else
					* шифт + стрелка вниз  или  стрелка вниз  (пометка записей)
					* шифт + '-' - разметить все
					* шифт + '+' - отметить все
					* шифт + '*' - инверсия отмеченных
					nodefault 
					.KeyPressHotKeys(nKeyCode, nShiftAltCtrl)
					return
				endif

			else
....................................и.т.д
Полностью схему(гармонию) проекта представленного в OOP_LAST попробую применить в новом маленьком проекте
...
Рейтинг: 0 / 0
19.10.2010, 16:18
    #36908006
прошелмимо
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выделение активной строки в классе GRID
LUCIANКажется я нашел, где в классе grd выделяются строки это
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
	PROCEDURE KeyPress
		LPARAMETERS nKeyCode, nShiftAltCtrl
		with this
			If (nShiftAltCtrl= 1  and Inlist(nKeyCode,  42 ,  43 ,  45 ,  50 ,  56 ,  86 )) ;
			   or ;
			   (nShiftAltCtrl= 2  and Inlist(nKeyCode, 146 ,  147 ))
			   
				if nShiftAltCtrl= 1  and nKeyCode= 86   and version( 2 )= 2    &&  shift + F3
					nodefault 
					select (.RecordSource)
					browse normal
				else
					* шифт + стрелка вниз  или  стрелка вниз  (пометка записей)
					* шифт + '-' - разметить все
					* шифт + '+' - отметить все
					* шифт + '*' - инверсия отмеченных
					nodefault 
					.KeyPressHotKeys(nKeyCode, nShiftAltCtrl)
					return
				endif

			else
....................................и.т.д
Полностью схему(гармонию) проекта представленного в OOP_LAST попробую применить в новом маленьком проекте

Вы только обратите внимание на то, что у класса есть свойство - ссылка на поле, которое в курсоре используется для хранения отметки.
cCheck
по умолчанию = "checked"

для примера есть списочная форма с
таким запросом:
select 0 as checked, * ...

ок, понравится - разовьем тему "красной кнопки" (построения фреймворков)
...
Рейтинг: 0 / 0
19.10.2010, 16:44
    #36908089
LUCIAN
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выделение активной строки в классе GRID
прошелмимоВы только обратите внимание на то, что у класса есть свойство - ссылка на поле, которое в курсоре используется для хранения отметки.
cCheck
по умолчанию = "checked"

Обратил внимание,если для GRD подсунуть свой CAD без cChecked ,то множественное выделение не
работает.
...
Рейтинг: 0 / 0
19.10.2010, 17:16
    #36908209
прошелмимо
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выделение активной строки в классе GRID
LUCIANпрошелмимоВы только обратите внимание на то, что у класса есть свойство - ссылка на поле, которое в курсоре используется для хранения отметки.
cCheck
по умолчанию = "checked"

Обратил внимание,если для GRD подсунуть свой CAD без cChecked ,то множественное выделение не
работает.

а почему оно должно работать?
так и задумано.
при наличии в курсоре поля, соответствующего(указанного) (в)настройке cCheck - будет работать,
если такого поля нет - не будет.

как написано, так и работает
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
if !Empty(this.cCheck) and Vartype(this.cCheck)="C" ;
   and !empty(fsize(this.cCheck, lcAlias))
	* определяем поле-маркер в курсоре
	lcFldCheck = lcAlias + "." + Alltrim(this.cCheck)
	if type(lcFldCheck)="N"
		luOnValue  =  1 
		luOffValue =  0 
	else
		luOnValue  = .t.
		luOffValue = .f.
	endi
EndIf
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Выделение активной строки в классе GRID / 13 сообщений из 13, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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