Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Установка свойств объекта в GRIDE / 6 сообщений из 6, страница 1 из 1
02.06.2004, 08:43
    #32543905
vgross
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Установка свойств объекта в GRIDE
Есть Грид, в одной из колонок которого CONTROLSOURCE есть CHECKBOX.
Активность или неактивность этого CHECKBOX должна определяться
значением поля Курсора, который является источником данных для грида.

Никак не могу справится с этой проблемой.

Знающие да подскажут!
...
Рейтинг: 0 / 0
02.06.2004, 09:25
    #32543966
Установка свойств объекта в GRIDE
> Активность или неактивность этого CHECKBOX должна определяться
значением поля Курсора

Что именно нужно? Установка свойства Enabled в CheckBox'е или его появление в строке в зависимости от значения поля курсора? В последнем случае можно использовать свойство CurrentControl колонки.
...
Рейтинг: 0 / 0
02.06.2004, 09:58
    #32544021
vgross
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Установка свойств объекта в GRIDE
Хотелось бы знать, как сделать и тот и другой вариант.

Вот кусок кода, который я пытаюсь реализовать.

Метод INIT формы

#DEFINE COLOREXPR "iif(op_sum<bill_sum,rgb(255,0,0),iif(op_sum>bill_sum,rgb(0,128,0),rgb(0,0,0)))"
#DEFINE COLOREXPR_CS "iif(isCsbor=1,rgb(212,208,200),rgb(255,255,255))" && isCsbor
#DEFINE COLOREXPR_FACT "iif(HasFact,rgb(212,255,255),rgb(255,255,255))"
#DEFINE Check_Visible "iif(op_vyst.HasFact,.F.,.T.)"

with This

1 .vystgrid.setall("dynamicforecolor",COLOREXPR,"column")
2 .vystgrid.setall("dynamicbackcolor",COLOREXPR_CS,"column")
3 .vystgrid.column3.dynamicbackcolor = COLOREXPR_FACT

4 .vystgrid.column8.SetAll("Enabled",EVALUATE(Check_Visible),"Checkbox")

endwith

Строки с номерами 1,2 и 3 отрабатывают так, как и хотелось,
а вот со строкой 4 не могу управиться.
...
Рейтинг: 0 / 0
02.06.2004, 13:09
    #32544578
Sjfx
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Установка свойств объекта в GRIDE
Вообще-то лучше перехватывать событие interactiveChange и в нём запрещать изменение значения чекбокса, т.к. на задисабленый элемент нельзя встать клавой. При этом можно менять цвет/фонт контрола, используя dynamic-свойства.
Тем не менее, напр., так:
вставляются два чекбокса, один задисабленый, и устанавливается проперть dynamicCurrentControl, в коей в зависимости от каких-то условий выбрать задисабленый или незадисабленый чекбокс.
Код: 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.
CREATE TABLE tt (id i, chkbox L)
FOR i= 1  TO  10 
	INSERT INTO tt VALUES (i, i% 2 = 0 )
NEXT

ff = NEWOBJECT("myf")
ON KEY LABEL ESC clea events
ff.show()
READ EVENTS 
ON KEY LABEL ESC 


DEFINE CLASS myf as Form  
ADD OBJECT grid1 as myGrid
windowType =  0 

PROCEDURE resize
this.grid1.width = this.Width
this.grid1.height = this.Height 

PROCEDURE init
WITH this.grid1.column2
	.addObject('chkb1', 'checkbox')
	.currentControl = 'chkb1'
	.chkb1.visible = .t.
	.chkb1.caption = 'enabled'
	.addObject('chkb2', 'checkbox')
	.chkb2.visible = .t.
	.chkb2.caption = 'disabled'
	.chkb2.enabled = .F.
	.sparse = .f.
	.dynamicCurrentControl = "IIF(id%2=0, 'chkb1', 'chkb2')" && OR "MYFU()"
ENDWITH
ENDDEFINE 

DEFINE CLASS myGrid as Grid 
columnCount =  2 
recordSourceType =  0 
recordSource = "tt.dbf"
highlightstyle =  2 
PROCEDURE init
this.Top= 0 
this.Width = thisform.width
this.Height=thisform.height
ENDDEFINE

FUNCTION MYFU
RETURN IIF(id% 2 = 0 , 'chkb1', 'chkb2')
...
Рейтинг: 0 / 0
03.06.2004, 04:54
    #32545697
vgross
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Установка свойств объекта в GRIDE
Всем спасибо за участие.
Проблему решил.
...
Рейтинг: 0 / 0
03.06.2004, 05:24
    #32545699
vgross
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Установка свойств объекта в GRIDE
Всем спасибо за участие.
Проблему решил.
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Установка свойств объекта в GRIDE / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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