| 
			
			 | 
		#1 | 
| 
			
			 Гость 
		
			
	 | 
	
	
	
		
		
			
			
			ComboBox
			 
			
			Добрый день! 
		
		
		
		
		
		
		
	Подскажите пожалуйства вот в такой ситуации... Есть динамический ComboBox, которы в зависимость о условий меняет свое содержимое. Замену делаю вот так : int _count=1; PersonGroupDestination.clear(); while select where tt.Department ==<условие> { <ComboBoxAutoDeclarationName>.insert(tt.UserName,_count); _count++; } <ComboBoxAutoDeclarationName>.update(); Вопрос: почему новые данные не появляются, т.е. как обновить Combo??? Вопрос еще один как можно ратать с данным контролом без AutoDeclaration???  | 
| 
	
 | 
| 
			
			 | 
		#2 | 
| 
			
			 NavAx 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Вопрос: зачем вы используете ComboBox для таких задач?
		 
		
		
		
		
		
		
		
	 | 
| 
	
 | 
| 
			
			 | 
		#3 | 
| 
			
			 Гость 
		
			
	 | 
	
	
	
		
		
		
		 
			
			На мой взгляд для пользователя так будет удобней или у вас есть другое мнение. А вы что предлагаете использовать?
		 
		
		
		
		
		
		
		
	 | 
| 
	
 | 
| 
			
			 | 
		#4 | 
| 
			
			 NavAx 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Для этих задач лучше использовать лукап форму, поищите на форуме, обсуждалось не раз. Есть еще вариант: посмотрите, как выбирается договор в форме заказов в зависимости от группы договоров и кода клиента. Обратите внимение на настройку relations таблицы SalesTable.
		 
		
		
		
		
		
		
		
	 | 
| 
	
 | 
| 
			
			 | 
		#5 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
		
			Сообщение от sergeyoskol
			
			 
Вопрос еще один как можно ратать с данным контролом без 
		
	AutoDeclaration??? FormComboBoxControl Depth; init() Depth = element.control(control:  epth);Взято с первой попавшейся на глаза формы CACHierPrompt  | 
| 
	
 | 
| 
			
			 | 
		#6 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
		
			Сообщение от sergeyoskol
			
			 
Добрый день! 
		
	Вопрос: почему новые данные не появляются, т.е. как обновить Combo??? Вопрос еще один как можно ратать с данным контролом без AutoDeclaration??? 2) Можно через перечисление control::[ControlName], как вам написали выше, но ИМХО лучше отказаться от этого способа и работать через AutoDeclaration  | 
| 
	
 | 
| 
			
			 | 
		#7 | 
| 
			
			 Гость 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Встречный вопрос в чем "минус" использования AutoDeclaration? Например, просиходит высвобождение памяти после того как форма закроется? Или нет? 
		
		
		
		
		
		
		
	А так же, но уже сугобо для себя, как всетаки динамически обновить ComboBox??  | 
| 
	
 | 
| 
			
			 | 
		#8 | 
| 
			
			 NavAx 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Вот так: 
		
		
		
		
		
		
		
	PHP код: 
	
			
	 | 
| 
	
 | 
| 
			
			 | 
		#9 | 
| 
			
			 Гость 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Не работает  
		
		
		
		
		
		
		
	![]() ComboBoxAutoDeclarationName.selection(0) - эта команда просто задает какой элемент будет выбран, а где же обновление ???  | 
| 
	
 | 
| 
			
			 | 
		#10 | 
| 
			
			 NavAx 
		
			
	 | 
	
	
	
		
		
		
		 
			
			обновление в данном случае есть пара действий:ъ 
		
		
		
		
		
		
		
	1. Clear() 2. Add("element") Проверено, работает!  | 
| 
	
 | 
| 
			
			 | 
		#11 | 
| 
			
			 Гость 
		
			
	 | 
	
	
	
		
		
		
		 
			
			спасибо за содействие  
		
		
		
		
		
		
		
	 
		 | 
| 
	
 | 
| 
			
			 | 
		#12 | 
| 
			
			 Роман Долгополов (RDOL) 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
		
			Сообщение от sergeyoskol
			
			 
Встречный вопрос в чем "минус" использования AutoDeclaration? Например, просиходит высвобождение памяти после того как форма закроется? Или нет? 
		
	и вс работа с контролами шла через синтаксис control:: Цитата: 
	
		
			Сообщение от sergeyoskol
			
			 
А так же, но уже сугобо для себя, как всетаки динамически обновить ComboBox?? 
		
	X++:     combobox.delete(combobox.getText(idx));
    combobox.insert(newText, idx);Но все вышеописанное в вашем случае имеет чисто академический интерес. Забейте на все это и используйте лукапы  | 
| 
	
 | 
| 
			
			 | 
		#13 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
		
			Сообщение от db
			
			 
Нет никаких минусов. Простов в "древних" версиях свойства AutoDeclaration не было  
		
	и вс работа с контролами шла через синтаксис control:: Часто происходят глюки - какой-нить из ранее объявленных контролов теряется. То есть компиляция проходит успешно, но переменная = null. Приходится сбрасывать у него свойсвто в No, затем обратно в Yes - и он сразу находится. А так, очень просто и главное, намного удобнее перечня control::  | 
| 
	
 | 
| 
			
			 | 
		#14 | 
| 
			
			 Роман Долгополов (RDOL) 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
		
			Сообщение от kashperuk
			
			 
Единственный "минус", если конечно его так можно назвать - это странное поведение контролов, у которых AutoDeclaration = True, после добавления на форму еще одного контрола и установки у него этого свойства. 
		
	Часто происходят глюки - какой-нить из ранее объявленных контролов теряется. То есть компиляция проходит успешно, но переменная = null. Приходится сбрасывать у него свойсвто в No, затем обратно в Yes - и он сразу находится. А так, очень просто и главное, намного удобнее перечня control::  
		 | 
| 
	
 | 
| 
			
			 | 
		#15 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Знал бы как толком воспроизвести, исправил бы, или хотя бы понял толком, почему происходит. 
		
		
		
		
		
		
			
		
		
		
		
	А происходит приблизительно так - на какую-нить форму, типа SalesEditLines, где много обращений к контролам на форме (см. метод run(), к примеру), добавляем галку, к примеру, в конец группы Parameters - и ставим ей autodeclaration = true. Вот после этого запускаем какую нить обработку заказа, и иногда (опять же, такое получалось у меня не всегда), начинает постоянно (именно постоянно) вылетать ошибка времени выполнения, что мол нет метода visible() , к примеру у объекта null Дебаггером смотрю - контрол пустой (null) таки. Соответственно, сама природа ошибки понятна. А лечилось так как написал. З.Ы. Но может дело вообще не в колчиестве полей на форме, а в сложной классовой обработке их  | 
| 
	
 |