Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Инициализация комбобокса / 5 сообщений из 5, страница 1 из 1
19.08.2010, 16:06
    #36800718
faustgreen
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Инициализация комбобокса
При програмном написании форм столкнулся со следующей проблемой:

ob = CREATEOBJECT("new")
Код: 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.
IF VARTYPE (ob) = [O]
	ob.closable=.t.                              
	ob.caption="Caption"
	ob.height= 335 
	ob.width= 700 
	ob.left= 265 
	ob.top= 165 
	  ob.SHOW()
	    CLEAR CLASS new
ENDIF

DEFINE CLASS new AS _issform 

ADD OBJECT cmb1 AS combobox with;
 top= 84 ,;
 left= 324 ,;
 width= 157 ,;
 height= 25 ,;
 tabindex= 3    

ADD OBJECT ed1 AS textbox with;                                           
 format='d',;
 top= 120 ,;
 left= 324 ,;
 width= 157 ,;
 height= 25 ,;
 tabindex= 4 

procedure init                                                                
ConnectServ=SQLSTRINGCONNECT(GETVARIABLE('SPP_SQLSTRCONNECT'),.T.)
sqlexec(ConnectServ,'select tzaprav.id, tzaprav.unzap, tzaprav.zakazdate, tzaprav.senddate, tzaprav.zapravdate, tzaprav.vozvrdate, tzaprav.firma from tzaprav where id=3','temp')
sqldisconnect(ConnectServ)

thisform.cmb1.value= 2 
thisform.ed1.value=zapravdate
endproc
		
ENDDEFINE



Здесь при инициализации формы текстовое поле ed1 заполняется значением поля "zapravdate", а значение комбобокса почему то не отображается. Так же происходит если код FORM.INIT поместить в код INIT комбобокса. Но все прекрасно работает если все это прописать к примеру в код GOTFOCUS комбобокса:

......
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
define
...

procedure cmb1.gotfocus
ConnectServ=SQLSTRINGCONNECT(GETVARIABLE('SPP_SQLSTRCONNECT'),.T.)
sqlexec(ConnectServ,'select tzaprav.id, tzaprav.unzap, tzaprav.zakazdate, tzaprav.senddate, tzaprav.zapravdate, tzaprav.vozvrdate, tzaprav.firma from tzaprav where id=3','temp')
sqldisconnect(ConnectServ)

thisform.cmb1.value= 2 
endproc
....
enddefine
...
Рейтинг: 0 / 0
19.08.2010, 16:16
    #36800765
прошелмимо
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Инициализация комбобокса
по-еврейски

а кто Вам сказал, что данные тянуть нужно в ините ф-мы?

а кодить ф-мы руками - это определенная стадия мазохизма
или ткая задача особая?

пыс пыс:
данные потянуть в лоад ф-мы
контролы привязать на подъеме оных
...
Рейтинг: 0 / 0
19.08.2010, 16:44
    #36800841
piva
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Инициализация комбобокса
BindControls можно юзать, если конечно умеют им пользоваться
...
Рейтинг: 0 / 0
19.08.2010, 16:54
    #36800876
прошелмимо
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Инициализация комбобокса
pivaBindControls можно юзать, если конечно умеют им пользоваться

ну это если через попу
ду форм писать
и пытаться выполнять различные позы ийога
...
Рейтинг: 0 / 0
19.08.2010, 17:53
    #36801056
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Инициализация комбобокса
ComboBox берет значения из явно указанного списка значений. Того, что указано в RowSource. Если в RowSource ничего нет, то присвоенное ComboBox значение будет автматически сброшено.

А вот GotFocus - это еще не присвоение значения. Это процесс изменения значения. Сам выбор еще не произошел, поэтому само значение еще видно. Как только Вы выходите из ComboBox, выполняется поиск в RowSource и если введенного значения там нет, то Value сбрасывается.

В общем, добавьте в Init описание выпадающего списка. Например, таким образом

Код: plaintext
1.
2.
3.
thisform.cmb1.RowSourceType =  6 
thisform.cmb1.RowSource = "temp.id"
thisform.cmb1.value =  2 
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Инициализация комбобокса / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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