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