| 
			
			 | 
		#1 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
			
			
			Не срабатывает display-метод
			 
			
			Добрый день! У меня к вам странный вопрос... 
		
		
		
		
		
		
		
		
			Есть форма, на ней датасорс. На форме есть контролы, подвязанные к датасорсу. В таблице есть display-метод, который должен срабатывать при смене значения в некотором поле. На форме есть грид. В гриде том есть контрол, через который меняется значение. И есть контрол, привязанный к дисплей-методу. В гриде все работает, все сменяется, дисплей метод отрабатывает. НО (!) если контролы оформить не в грид, а отдельно - дисплей-метод не срабатывает автоматически! срабатывает только если щелкнуть в контрол с дисплей-методом.... в гриде, повторюсь, все работает... Подскажите, в чем дело? Последний раз редактировалось Vasiliusis; 23.04.2014 в 06:57.  | 
| 
	
 | 
| 
			
			 | 
		#2 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Дисплейка не кэшируется?
		 
		
		
		
		
		
		
		
	 | 
| 
	
 | 
| 
			
			 | 
		#3 | 
| 
			
			 Участник 
		
			
	 | 
	
	|
| 
	
 | 
| 
			
			 | 
		#4 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
Последний раз редактировалось axm2014; 23.04.2014 в 08:59.  | 
| 
	
 | 
| 
			
			 | 
		#5 | 
| 
			
			 Ищущий знания... 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
		
			Сообщение от Vasiliusis
			 
 
			Добрый день! У меня к вам странный вопрос... 
		
	Есть форма, на ней датасорс. На форме есть контролы, подвязанные к датасорсу. В таблице есть display-метод, который должен срабатывать при смене значения в некотором поле. На форме есть грид. В гриде том есть контрол, через который меняется значение. И есть контрол, привязанный к дисплей-методу. В гриде все работает, все сменяется, дисплей метод отрабатывает. НО (!) если контролы оформить не в грид, а отдельно - дисплей-метод не срабатывает автоматически! срабатывает только если щелкнуть в контрол с дисплей-методом.... в гриде, повторюсь, все работает... Подскажите, в чем дело? 
				__________________ 
		
		
		
		
	"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с) С Уважением, Елизаров Артем  | 
| 
	
 | 
| 
			
			 | 
		#6 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Попробуйте закэшировать метод. Тем более, если он в таблице. 
		
		
		
		
		
		
			X++: public void init() { super(); this.cacheAddMethod(tableMethodStr(Table, displayMethod)); } 
				__________________ 
		
		
		
		
		
			// no comments Последний раз редактировалось dech; 23.04.2014 в 13:27.  | 
| 
	
 | 
| 
			
			 | 
		#7 | 
| 
			
			 Участник 
		
			
	 | 
	
	|
| 
	
 | 
| 
			
			 | 
		#8 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			А может быть дело не в том что вы активируете контрол, а в том что вы выходите при этом с грида. Потеря фокуса гридом инициирует сохранение введенных данных и именно тогда метод пересчитывается. 
		
		
		
		
		
		
		
	Если это так, то исправить ситуацию можно если после изменения значения в поле грида (метод modified соответствующего узла field на датасорсе) принудительно вызвать метод write датасорса.  | 
| 
	
 |