| 
			
			 | 
		#1 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
			
			
			JoinSource vs executeQuery
			 
			
			Здраствуйте , 
		
		
		
		
		
		
		
	Я заметил , что когда датасоурцы есть соединины по joinSource ( нпр. SalesTable и SalesLine ) то обновление данных немножко тормозит . А вот по executeQuery ( нпр. поставит в датасоурце SalesTable в active() методе SalesLine_ds.executeQuery() ) действует поскорее ... Такой вопрос - можно поменять JoinSource на executeQuery ? Какие недостатки есть если отказаться от JoinSource ? Спасибо за советы ! С уважением , Римантас  | 
| 
	
 | 
| 
			
			 | 
		#2 | 
| 
			
			 Moderator 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Честно говоря, я не очень понял, о какой замене идет речь, но в подобных случаях я прибегаю к универсальному алгоритму: 
		
		
		
		
		
		
		
	
  | 
| 
	
 | 
| 
			
			 | 
		#3 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Насколько я понял вопрос - то задержка возникает при навигации по главной таблице 
		
		
		
		
		
		
		
	Если использовать обработчик события active(), то возникнет проблема производительности при попытке быстрого перемещения по строкам главной таблицы Еще см. LinkType  | 
| 
	
 | 
| 
			
			 | 
		#4 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
 | 
| 
	
 | 
| 
			
			 | 
		#5 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Свойство датасорса salesLine: LinkType = Delayed - дает задержку обновления строк. Это сделано специально, чтобы не вызывался excecuteQuery, когда вы быстро перходите с заказа  на заказ. 
		
		
		
		
		
		
		
	Поставьте LinkType = Active, тогда executeQuery будет вызываться сразу  | 
| 
	
 | 
| 
			
			 | 
		#6 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			прочитайте про linkType если не будет задержки, а пользователь несколько раз нажмет, например, стрелку вниз, то будет больше ненужных запросов к базе данных.
		 
		
		
		
		
		
		
		
	 | 
| 
	
 | 
| 
			
			 | 
		#7 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
		
			Сообщение от belugin
			 
 
			прочитайте про linkType если не будет задержки, а пользователь несколько раз нажмет, например, стрелку вниз, то будет больше ненужных запросов к базе данных. 
		
	  Спасибо всем !
		 | 
| 
	
 | 
| 
			
			 | 
		#8 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
			
			 
			
			Может вы в методе active() перекрыли super() - потому и работает быстрее ?
		 
		
		
		
		
		
		
			
		
		
		
		
		
			Последний раз редактировалось Волчара; 25.05.2010 в 18:25. Причина: с тегом цитатки ошибся  | 
| 
	
 | 
| Теги | 
| active, executequery, как правильно | 
| 
	
	 | 
	
		
  |