Работа с Checkbox

makaset

Well-known member
14.03.2007
128
0
#1
КТо может подсказать.
вот например в делфи примерно пишется так

If checkbox1.checked = true then
fsfs
else
erer
enв

а как в скрипте писать.
.......
 

morpheus

скриптописец
07.08.2006
3 915
1
#2
Для: makaset
в поле создайте значение с псевдонимом ( "туцни шоб была галочка|true" ) вот и получиться у Вас чтото проде

If InStr( doc.pole1(0) , "true" ) then
....
 

wowa

Well-known member
01.02.2007
848
0
#3
Извиняюсь, можно еще раз объяснить <!--QuoteBegin-Morpheus+26:03:2007, 08:00 -->
<span class="vbquote">(Morpheus @ 26:03:2007, 08:00 )</span><!--QuoteEBegin-->в поле создайте значение с псевдонимом ( "туцни шоб была галочка|true" )
[snapback]60115" rel="nofollow" target="_blank[/snapback]​
[/quote]
Что-то я не понял что нужно сделать!!
 

morpheus

скриптописец
07.08.2006
3 915
1
#4
Для: wowa
Создаёте поле, произвольное имя , тип checkbox
дальше переходите во вторую закладку свойств поля в секции Choices выбрать Enter choices( one per Line)
в поле ввода (без кавычек) вставляйте "туцни шоб была галочка|true"
всё...

а дальше
Код:
If InStr( doc.pole1(0) , "true" ) then  ....
 

wowa

Well-known member
01.02.2007
848
0
#5
но оно ведь "туцни шоб была галочка" появится в поле , а зачем мне это значение???
У меня там свои значения
www
qqq
причем они всегда разные
 

morpheus

скриптописец
07.08.2006
3 915
1
#6
Для: wowa
ёпть....

пойми те вы в делфлях чекбокс имеет флаг состояния 0/1 ... true / false
а в Lotus Вы просто проверяете чему равно поле Ваше и все
вся Ваша проверка сведёться к

Select Case doc.pole1(0)
Case "www" : ' если в поле выбрано галочкой www
Case "qqq" : ' если в поле выбрано галочко qqq
case .... ' множество других значений
end case

з.ы. Этот код подходит если в поле можно выбирать одно значение, если несколько то
doc.pole1(0) - 0 уже не катит, надо проверить все значения ( то есть работать с pole1 как с массивом значений pole1(n) )
 
K

K-Fire

#7
<!--QuoteBegin-wowa+4:04:2007, 13:35 -->
<span class="vbquote">(wowa @ 4:04:2007, 13:35 )</span><!--QuoteEBegin-->но оно ведь "туцни шоб была галочка" появится в поле , а зачем мне это значение???
[snapback]61275" rel="nofollow" target="_blank[/snapback]​
[/quote]

Читайте факи по алиасам :) Если такой чекбокс будет чекнут, то в документе будет значение не "туцни шоб была галочка" хранится, а "true".
 

iosif88

Well-known member
14.10.2009
97
1
#8
Для: wowa
ёпть....

пойми те вы в делфлях чекбокс имеет флаг состояния 0/1 ... true / false
а в Lotus Вы просто проверяете чему равно поле Ваше и все
вся Ваша проверка сведёться к

Select Case doc.pole1(0)
Case "www" : ' если в поле выбрано галочкой www
Case "qqq" : ' если в поле выбрано галочко qqq
case .... ' множество других значений
end case

з.ы. Этот код подходит если в поле можно выбирать одно значение, если несколько то
doc.pole1(0) - 0 уже не катит, надо проверить все значения ( то есть работать с pole1 как с массивом значений pole1(n) )
Можно по подробнее?
Имеется например checkbox:
"ааа"
"ббб"
"ввв"
"ггг"
"ддд"

Нужно проверить отмечено ли ааа ввв ддд, либо одно либо все вместе не важно, хотя бы одно из них Т.е должно быть примерно такое:

If aaa.checked=true or ввв.checked=true or ддд.checked=true Then
...

Как это сделать?
 
G

gmp11

#9
значение поля checkbox это список состоящий из выбраных значений, например ааа: ввв: ддд. Так что бери это значение, и работай со списком, а разобрать список и проверить что в нём есть и чего нет совсем не сложно.
 

iosif88

Well-known member
14.10.2009
97
1
#10
значение поля checkbox это список состоящий из выбраных значений, например ааа: ввв: ддд. Так что бери это значение, и работай со списком, а разобрать список и проверить что в нём есть и чего нет совсем не сложно.

Кажется разобрался. Нужно поставить для проверяемых значений - "значение"|true
И проверить

Код:
 Forall S In Doc.cbName

If S ="true"	 Then
....			
End If
End Forall
 

nvyush

Lotus team
22.04.2009
2 317
0
#11
Кажется разобрался. Нужно поставить для проверяемых значений - "значение"|true
И проверить

Код:
 Forall S In Doc.cbName

If S ="true"	 Then
....			
End If
End Forall
Думаю, что не так. Для каждой позиции должен быть свой псевдоним, т.е. в Choices нужно ввести что-то вроде:
aaa|a
bbb|b
ccc|c
Если будут выбраны пункты "aaa" и "ccc", то значение поля будет массивом из элементов "a" и "c" ("a":"c")
 

iosif88

Well-known member
14.10.2009
97
1
#12
Думаю, что не так. Для каждой позиции должен быть свой псевдоним, т.е. в Choices нужно ввести что-то вроде:
aaa|a
bbb|b
ccc|c
Если будут выбраны пункты "aaa" и "ccc", то значение поля будет массивом из элементов "a" и "c" ("a":"c")
Да, действительно если для всех одинаков то галочка может стоять только на одном из них.
Тогда лучше поставить
aaa|true1
bbb|
ccc|true2
ddd
eee|true3

И проверять так:

Код:
	Forall S In Doc.cb
If Left(S,4)="true"	 Then
....
End If
End Forall
Спасибо.
 

Medevic

Что это ? :)
Lotus team
10.12.2004
3 346
1
#13
Код:
Dim ni As NotesItem
Set ni = Doc.GetFirstItem("cbName")
If ni.Contains("aaa") Or ni.Contains("bbb") Or ni.Contains("ccc") Then
 

iosif88

Well-known member
14.10.2009
97
1
#15
Нельзя альясы делать пустыми, типа "bbb|". Т.к. при выборе такого элемента, значение поля станет пустым, что эквивалентно ситуации, когда не установлена ни одна галка.
Я проверил, вроде бы для пустого "bbb|", при выборе его значением является "bbb".
 

Medevic

Что это ? :)
Lotus team
10.12.2004
3 346
1
#16
А зачем здесь вообще алиасы? Забавно будет, когда захочешь посмотреть значения поля, а там true[1..n] какие-то. :)
 

iosif88

Well-known member
14.10.2009
97
1
#18
Что-то не так. Я перепроверил под 7кой. Не работает. Как проверяли?
Sorry, это опечатка. Должно быть так - вообще без алиаса:

aaa|true1
bbb
ccc|true2
ddd
eee|true3

Добавлено:
А зачем здесь вообще алиасы? Забавно будет, когда захочешь посмотреть значения поля, а там true[1..n] какие-то. :)
Так легче, тем более эти значения сами по себе не нужны.
 

TIA

:-)
Lotus team
15.05.2009
790
3
#19
Пустой альяс это "bbb|", а отсутствие альяса это "bbb". Так у вас пустой альяс или он отсутствует? Описываемое вами поведение соответствует отсутствию альяса.