| 
			
			 | 
		#1 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
			
			
			Программно добаться до строк грида
			 
			
			Всем привет! 
		
		
		
		
		
		
		
	Ситуация: Есть грид, в котором одно из полей - просто флажок, не привязанный к источнику даных. Он сделан для того, чтобы пользователь мог выбрать некоторые записи. Задача Сделать так, чтобы пользователь мог посмотреть то, что у него выделено, либо снять выделение (записей много, не видно все, что выделено, пользователь тратит время на просмотр грида, чтобы убрать галочки с ненужных записей). а) Реализовать сортировку в гриде по этому флажку (сейчас при нажатии на заголовок этого поля в гриде ничего не происходит). б)Реализовать функцию типа выделить все -- очистить все. Т.е. програмно снимать\устанавливать все флажки в гиде. что думаете, господа аксаптоведы? :_)  
		 | 
| 
	
 | 
| 
			
			 | 
		#2 | 
| 
			
			 Moderator 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Привяжите галочку к источнику данных, думаю это будет самое простое, красивое и стандартное решение.
		 
		
		
		
		
		
		
		
	 | 
| 
	
 | 
| 
			
			 | 
		#3 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
		
			Сообщение от Fortress
			
			 
Ситуация: 
		
	Есть грид, в котором одно из полей - просто флажок, не привязанный к источнику даных. Он сделан для того, чтобы пользователь мог выбрать некоторые записи. Аксапта позволяет выделять несколько записей одновременно, при помощи CTRL+мышь, SHIFT+мышь Записи, выделенные таким образом являются промаркированными. Ищите здесь, в руководстве разработчика и в Best Practice темы по ключевому слову Mark. Кроме того, Аксапта имеет переключатель для кнопок - будут ли они доступными при выделении нескольких записей одновременно.  | 
| 
	
 | 
| 
			
			 | 
		#4 | 
| 
			
			 Moderator 
		
			
	 | 
	
	
	
		
		
		
		 
			
			2Fortress: 
		
		
		
		
		
		
			Ну, флажок-то у вас по-любому привязан к источнику данных, просто он является edit-методом, а не полем таблицы. Иначе как вы понимаете, какие именно записи выделены? 1. Сортировка. Не представляю, как это можно реализовать, если не хранить выбранные записи в другой таблице, что бессмысленно. 2. Выделить\очистить все. Проще всего организовать перебор строк DS и вызывать для каждой из них этот самый edit-метод, имитируя постановку/снятие галочки для строки. 
				__________________ 
		
		
		
		
	Андрей.  | 
| 
	
 | 
| 
			
			 | 
		#5 | 
| 
			
			 Moderator 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Эх ... 
		
		
		
		
		
		
			Я согласен что маркировка с помощью CTRL и SHIFT очень удобна, но довольно часто возникают случаи когда "галочка" оказывается намного удобнее. Да и поиск по выделенным через CTRL или SHIFT строкам не особо то работать будет   Так что я соглашусь с DreamCreator. 
				__________________ 
		
		
		
		
	С уважением, kvan.  | 
| 
	
 | 
| 
			
			 | 
		#6 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Хватит болтать, посмотрите как сделаны галки на сопоставлении и хватит схоластикой заниматься
		 
		
		
		
		
		
		
		
	 | 
| 
	
 | 
| 
			
			 | 
		#7 | 
| 
			
			 Moderator 
		
			
	 | 
	
	
	
		
		
		
		 
			
			2Valia: 
		
		
		
		
		
		
		
		
			И вы действительно считаете что это удачный пример!?   Я бы порекомендовал посмотреть туда, но вот делать так как там не стоит. Последний раз редактировалось kvan; 12.12.2005 в 15:33.  | 
| 
	
 | 
| 
			
			 | 
		#8 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			я умолкаю, простите вырвалось. 
		
		
		
		
		
		
		
	Действительно, задача такая архиважная, что надо думать неделями на что прикрутить галки и как с ними возиться, можно еще цветами выделять начать  
		 | 
| 
	
 | 
| 
			
			 | 
		#9 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			можно посмотреть как сделана форма добавления строк в заказ или закупку. не знаю, насколько пример удачен, но работает замечательно.
		 
		
		
		
		
		
		
		
	 | 
| 
	
 | 
| 
			
			 | 
		#10 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Valia, вы посмотрите в исходный вопрос: 
		
		
		
		
		
		
			
		
		
		
		
	Цитата: 
	
		
			Сообщение от Fortress
			
			 
Он сделан для того, чтобы пользователь мог выбрать некоторые записи. 
		
	Спрошено про одного пользователя и решение вы предлагаете для одного пользователя... А как нескольким пользователям одновременно работать? В сопоставлении на оплату галочки проставляются и видны всем пользователям. Обратите внимание, как приходится выкручитваться, чтобы другие пользователи не дай бог не изменили сопоставление. Обратите внимание, что ***TransOpen удаляются и создаются. Именно такой механизм придется воссоздавать (по крайней мере, придется создавать дополнительную таблицу), если следовать совету Valia. Если задача стоит того, чтобы ТАК геммороится, то может быть и да. кстати, kvan, смотри о чем спрашивает Fortress. О спрашивает о некоторых. Если выделяемых записей немного (до нескольких десятков), то проще таки воспользоваться маркировкой.  | 
| 
	
 | 
| 
			
			 | 
		#11 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
		
			Сообщение от mit
			
			 
можно посмотреть как сделана форма добавления строк в заказ или закупку. не знаю, насколько пример удачен, но работает замечательно. 
		
	Если марктировка не подходит, то таки да.  
		 | 
| 
	
 | 
| 
			
			 | 
		#12 | 
| 
			
			 Moderator 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
		
			Сообщение от mazzy
			
			 
кстати, kvan, смотри о чем спрашивает Fortress. 
		
	О спрашивает о некоторых. Если выделяемых записей немного (до нескольких десятков), то проще таки воспользоваться маркировкой. Но в его случае еще и сортировка нужна, а это стандартной маркировкой не решить. 2Fortress: Может условия задачи можно немного изменить и тем самым отказаться от изобретения колеса? 
				__________________ 
		
		
		
		
	С уважением, kvan.  | 
| 
	
 | 
| 
			
			 | 
		#13 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
		
			Сообщение от kvan
			
			 
Но в его случае еще и сортировка нужна, а это стандартной маркировкой не решить. 
		
	Да, здесь ты прав.  | 
| 
	
 | 
| 
			
			 | 
		#14 | 
| 
			
			 NavAx 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Есть мысль запихать флажки во временную таблицу и связать её с основной. 
		
		
		
		
		
		
			Или запихнуть в map и сделать, как в Маркировке (по складу), хотя, там вообще комбинированный подход (IMHO, наиболее красиво, хотя наиболее извращенно). 
				__________________ 
		
		
		
		
	Жизнь прекрасна! Если, конечно, правильно подобрать антидепрессанты...  
			 | 
| 
	
 | 
| 
			
			 | 
		#15 | 
| 
			
			 Moderator 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
		
			Сообщение от Maximin
			
			 
Есть мысль запихать флажки во временную таблицу и связать её с основной. 
		
	  Да и не стоит забывать что временные таблицы жрут RecId. 
				__________________ 
		
		
		
		
	С уважением, kvan.  | 
| 
	
 | 
| 
			
			 | 
		#16 | 
| 
			
			 NavAx 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Я бы предложил хранить в постоянной таблице и потом джойнить при необходимости. 
		
		
		
			Залез в Аксапту 2.5, посмотрел как мы этим пользовались три года назад ![]() Задача более общая - пользователю нужно отмечать произвольные наборы, с возможностью передачи и другим пользователям (чтобы не было - "на, посмотри я тебе на бумажку выписала") 
				__________________ 
		
		
		
		
		
			С уважением, Игорь Ласийчук. Последний раз редактировалось Garic; 13.12.2005 в 11:59.  | 
| 
	
 | 
| 
			
			 | 
		#17 | 
| 
			
			 NavAx 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
		
			Сообщение от kvan
			
			 
Есть одна не очень приятная фича - джойн временной таблицы с "нормальной" не всегда получается  
		
	  Да и не стоит забывать что временные таблицы жрут RecId. 
				__________________ 
		
		
		
		
	Жизнь прекрасна! Если, конечно, правильно подобрать антидепрессанты...  
			 | 
| 
	
 | 
| 
			
			 | 
		#18 | 
| 
			
			 Moderator 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
		
			Сообщение от Maximin
			
			 
Есть мысль запихать флажки во временную таблицу и связать её с основной. 
		
	
				__________________ 
		
		
		
		
	С уважением, kvan.  | 
| 
	
 | 
| 
			
			 | 
		#19 | 
| 
			
			 NavAx 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Запарил ты, дружище, цепляться. Или я на форум должен работать? 
		
		
		
		
		
		
			Сказал же - посмотри, как работают галочки в маркировании и подумай, как сделать. 
				__________________ 
		
		
		
		
		
			Жизнь прекрасна! Если, конечно, правильно подобрать антидепрессанты...  
			Последний раз редактировалось Maximin; 14.12.2005 в 19:29.  | 
| 
	
 |