| 
			
			 | 
		#1 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
			
			
			Обход грида в цикле
			 
			
			Здравствуйте! У меня на форме есть табличка (grid)  и рядом кнопочка в которой я хочу обойти все строчки этой таблички и что то с ними сделать.Табличка называается PurchLine. 
		
		
		
		
		
		
		
	К примеру как то так только вместо next() надо какой то метод который я не знаю while(PurchLine.next()) { info("This is an info."); } Какой метод таблички нужен вместо next() чтобы обойти все строчки? Заранее спасибо  | 
| 
	
 | 
| 
			
			 | 
		#2 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Вам нужно также учесть фильтры, заданные пользователем в форме? Или модифицировать все имеющиеся записи PurchLIne?
		 
		
		
		
		
		
		
		
	 | 
| 
	
 | 
| 
			
			 | 
		#3 | 
| 
			
			 Участник 
		
			
	 | 
	
	|
| 
	
 | 
| 
			
			 | 
		#4 | 
| 
			
			 Участник 
		
			
	 | 
	
	|
| 
	
 | 
| 
			
			 | 
		#5 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Задачу уточнить можно ?? Странный обход записей, если честно.
		 
		
		
		
		
		
		
		
	 | 
| 
	
 | 
| 
			
			 | 
		#6 | 
| 
			
			 Участник 
		
			
	 | 
	
	|
| 
	
 | 
| 
			
			 | 
		#7 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Если только отфильтрованные (а не выделенные), то, как вариант, можно получить Query датасорса формы через  
		
		
		
		
		
		
		
		
			X++: YourDataSourceName_ds.queryRun().query(). Также хороший пример привёл tricky Последний раз редактировалось Cardagant; 03.07.2014 в 10:12.  | 
| 
	
 | 
| 
			
			 | 
		#8 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Мне надо менять только экранную информацию(базу данных не трогать) 
		
		
		
		
		
		
		
	1)В этом случае если я буду в своем цикле менять данные то они будут меняться в реальной таблице в базе данных или только виртуально на экране? 2) Как мне использовать YourDataSourceName_ds.queryRun().query() если у меня в датасорсе 5 таблиц 3) что значит окончание "_ds"?  | 
| 
	
 | 
| 
			
			 | 
		#9 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
		
			Сообщение от at5454
			 
 
			Мне надо менять только экранную информацию(базу данных не трогать) 
		
	1)В этом случае если я буду в своем цикле менять данные то они будут меняться в реальной таблице в базе данных или только виртуально на экране? 2) Как мне использовать YourDataSourceName_ds.queryRun().query() если у меня в датасорсе 5 таблиц 3) что значит окончание "_ds"? 2) В вашем примере вы хотите делать обход через .next() , что не есть правильно. Так же Вы сказали, что хотите оперировать отфильтрованными записями. Для этого пользователь Cardagant предложил Вам хороший вариант с запросом(query), который приходит с активного источника данных(ds). Эту конструкцию Вы можете использовать по клику на Вашу кнопку на форме. 3) Окончание _ds означает datadource. Пример: у вас есть форма PurchLine, у которой множество датасорсов, в том числе и сам PurchLine. Так вот, чтобы обратиться к конкретной записи датасорса, Вам необходимо использовать конструкцию PurchLine_ds.  | 
| 
	
 | 
| 
			
			 | 
		#10 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Расскажу поподробнее. Есть грид который который тянет инфу из пяти таблиц. После применения фильтров у меня остается на экране 10 строчек. Которые я и хочу обработать.После моей обработки этих строчек их новое значение подхватит другое (НЕ МОЕ) вычисление. 
		
		
		
		
		
		
		
	И все благополучно стерется после закрытия формы.А в базе все останется без изменений. Вот такая задача. В этом случаем мне использовать совет tricky?  | 
| 
	
 | 
| 
			
			 | 
		#11 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
		
			Сообщение от at5454
			 
 
			Расскажу поподробнее. Есть грид который который тянет инфу из пяти таблиц. После применения фильтров у меня остается на экране 10 строчек. Которые я и хочу обработать.После моей обработки этих строчек их новое значение подхватит другое (НЕ МОЕ) вычисление. 
		
	И все благополучно стерется после закрытия формы.А в базе все останется без изменений. Вот такая задача. В этом случаем мне использовать совет tricky? В задаче, описанной вами, разумнее использовать временные таблицы.  | 
| 
	
 | 
| 
			
			 | 
		#12 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Вы извините что туплю, у меня сегодня третий рабочий день, только третий день работаю с аксаптой. 
		
		
		
		
		
		
		
	Благодаря совету cardagant мне удалось успешно пробежать мои 10 записей из таблицы формы. И вот новые обстоятельства: При пробегании если поле X равно определенному значению то мне нужно в поле Y записать свое значение. НО! Если поле X - это родное поле из таблицы базы данных, то поле Y -это виртуальное поле лишь данного грида, которое рождается только при запуске формы. Как же мне в него записать?  | 
| 
	
 | 
| 
			
			 | 
		#13 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
		
			Сообщение от at5454
			 
 
			Вы извините что туплю, у меня сегодня третий рабочий день, только третий день работаю с аксаптой. 
		
	Благодаря совету cardagant мне удалось успешно пробежать мои 10 записей из таблицы формы. И вот новые обстоятельства: При пробегании если поле X равно определенному значению то мне нужно в поле Y записать свое значение. НО! Если поле X - это родное поле из таблицы базы данных, то поле Y -это виртуальное поле лишь данного грида, которое рождается только при запуске формы. Как же мне в него записать? Если верно понимаю Вас, то Вам следует почитать о дисплей-методах (display-method).  | 
| 
	
 |