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

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

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

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

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

Метод 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
Установка свойств объекта в GRIDE
    #32544578
Sjfx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вообще-то лучше перехватывать событие 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
Установка свойств объекта в GRIDE
    #32545697
vgross
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем спасибо за участие.
Проблему решил.
...
Рейтинг: 0 / 0
Установка свойств объекта в GRIDE
    #32545699
vgross
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем спасибо за участие.
Проблему решил.
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Установка свойств объекта в GRIDE
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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