Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Обычная тема Пример реализации "перетаскивания" в ТабличномПоле (drag & drop) (число прочтений - 3396 )
Kalen
Full Member
***
Отсутствует


1C++ rocks!

Сообщений: 185
Зарегистрирован: 29. Марта 2010
Пол: Мужской
Пример реализации "перетаскивания" в ТабличномПоле (drag & drop)
21. Марта 2014 :: 11:17
Печать  
Пример реализации "перетаскивания" в ТабличномПоле (drag & drop) и между двумя ТП.

Пользуясь случаем, выражаю огромную признательность автору класса "Табличное поле"  за отличный инструмент.
  

TFdragdrop.ert ( 37 KB | Загрузки )
Наверх
GTalkICQ  
IP записан
 
Kalen
Full Member
***
Отсутствует


1C++ rocks!

Сообщений: 185
Зарегистрирован: 29. Марта 2010
Пол: Мужской
Re: Пример реализации "перетаскивания" в ТабличномПоле (drag & drop)
Ответ #1 - 21. Марта 2014 :: 11:21
Печать  
Может кто-нибудь подскажет более изящный способ определения источника в событиях перетаскивания нежели запихивание его в параметр "Значение"? Не понятно почему источник не включен в число параметров событий...
  
Наверх
GTalkICQ  
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: Пример реализации "перетаскивания" в ТабличномПоле (drag & drop)
Ответ #2 - 21. Марта 2014 :: 14:39
Печать  
(0) спасибо, примерчик работает
  
Наверх
 
IP записан
 
ADirks
1c++ developer
1c++ moderator
Отсутствует


А нужны ли мы нам?

Сообщений: 692
Местоположение: Новосибирск
Зарегистрирован: 22. Мая 2006
Пол: Мужской
Re: Пример реализации "перетаскивания" в ТабличномПоле (drag & drop)
Ответ #3 - 25. Марта 2014 :: 05:49
Печать  
Kalen писал(а) 21. Марта 2014 :: 11:21:
Может кто-нибудь подскажет более изящный способ определения источника в событиях перетаскивания нежели запихивание его в параметр "Значение"? Не понятно почему источник не включен в число параметров событий...

В Значение запихивается структура, и там уж что душе угодно можно передать. Типа
Код
Выбрать все
Процедура тпРейсНачалоПеретаскивания(Источник, ДопустимыеДействия, Значение, Колонка, ТипРегиона, ТипЦели) Экспорт
	Рейс = тпРейсы.Получить("Рейс");
	ЗаявкаНаОтгрузку = тпРейсы.Получить("ЗаявкаНаОтгрузку");
	сзДоставки = тпРейс.сзВыделенныеСтроки("Доставка");

	//ТипЦели = 2;
	ДопустимыеДействия = 2;

	Значение = Фаб.Структура(
		"Имя", "тпРейс",
		"Источник", тпРейс,
		"сзДоставки", сзДоставки,
		"СтрокаТП", тпРейс.ТекущаяСтрока,
		"Рейс", Рейс,
		"ЗаявкаНаОтгрузку", ЗаявкаНаОтгрузку
	);
КонецПроцедуры
 

  
Наверх
 
IP записан
 
Kalen
Full Member
***
Отсутствует


1C++ rocks!

Сообщений: 185
Зарегистрирован: 29. Марта 2010
Пол: Мужской
Re: Пример реализации "перетаскивания" в ТабличномПоле (drag & drop)
Ответ #4 - 25. Марта 2014 :: 10:18
Печать  
ADirks писал(а) 25. Марта 2014 :: 05:49:
Kalen писал(а) 21. Марта 2014 :: 11:21:
...нежели запихивание его в параметр "Значение"...

В Значение запихивается структура...

Я это и имел в виду.
В примере для этого используется СписокЗначений для простоты восприятия
Имхо, если бы в методы приемника просто передавался параметр Источник, содержащий объект-источник (ТП), было бы куда логичнее и удобнее. В большинстве случаев этого достаточно. А при желании можно и со структурами огород городить.

К слову, а с какими-нибудь другими объектами (не ТП) ТП может "перепихитаскиваться"?
  
Наверх
GTalkICQ  
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: Пример реализации "перетаскивания" в ТабличномПоле (drag & drop)
Ответ #5 - 25. Марта 2014 :: 11:59
Печать  
Да, в любой активикс, который поддерживает drag&drop, например в дерево от мелкомягких..
  
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3050
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Пример реализации "перетаскивания" в ТабличномПоле (drag & drop)
Ответ #6 - 25. Марта 2014 :: 13:37
Печать  
Kalen писал(а) 25. Марта 2014 :: 10:18:
если бы в методы приемника просто передавался параметр Источник, содержащий объект-источник (ТП), было бы куда логичнее и удобнее.
а если из формы в форму тащим, то еще параметр КонтекстИсточник передавать?
имхо, как раз таки логичнее один параметр, который наполняется разными смыслами в зависимости от частной задачи
  

1&&2&&3
Наверх
 
IP записан
 
Kalen
Full Member
***
Отсутствует


1C++ rocks!

Сообщений: 185
Зарегистрирован: 29. Марта 2010
Пол: Мужской
Re: Пример реализации "перетаскивания" в ТабличномПоле (drag & drop)
Ответ #7 - 25. Марта 2014 :: 14:36
Печать  
trad писал(а) 25. Марта 2014 :: 13:37:
а если из формы в форму тащим, то еще параметр КонтекстИсточник передавать?

А зачем в этом случае обязательно его туда передавать?? По-моему те же яйца...
Я исхожу из того, что в самом ТП-источнике достаточно информации для осуществления перетаскивания. Допустим, если у ТП ПоставщикДанных ТЗ или ИТ, то, скорее всего, все данные можно получить из соответствующего свойства ТП (поставщика). Если какой-то другой поставщик, то обычно перетаскиваемые данные уже идут параметром Значение или доступны в колонках ТП.
Конечно, если требуется навернуть что-то посложнее - пожалуйста, способ "структуры" никто отменять не предлагает. Но надо ли оно?

Впрочем, сейчас понял, что для полного счастья у ТП еще не хватает простенького свойства-строчки "Идентификатор", куда можно было бы что-нибудь написать "для ориентировки на местности". Улыбка
  
Наверх
GTalkICQ  
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать