Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Горячая тема (более 10 ответов) Yoksel и класс ПоставщикДанных (число прочтений - 3778 )
Andrey (sttt)
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 49
Зарегистрирован: 10. Января 2009
Пол: Мужской
Yoksel и класс ПоставщикДанных
19. Августа 2010 :: 19:02
Печать  
Не могу разобраться почему глючит:

Разместил на разных слоях формы, ТабличныйДокумент от Yoksel'a и табличное поле от класса ПоставщикДанных. Когда перехожу со слоя ПоставщикДанных на слой Yoksel'a и клацаю мышой или клавиатурой появляется табличное поле (которое должно быть скрыто), поверх табличного документа (Yoksel). Порядок слоев менял, не помогло.
  
Наверх
 
IP записан
 
Andrey (sttt)
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 49
Зарегистрирован: 10. Января 2009
Пол: Мужской
Re: Yoksel и класс ПоставщикДанных
Ответ #1 - 19. Августа 2010 :: 21:53
Печать  
вот пример где не работает
  

___003.ert ( 10 KB | Загрузки )
Наверх
 
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: Yoksel и класс ПоставщикДанных
Ответ #2 - 20. Августа 2010 :: 06:30
Печать  
Управляй видимостью при смене закладки и всего лишь.
  
Наверх
 
IP записан
 
Andrey (sttt)
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 49
Зарегистрирован: 10. Января 2009
Пол: Мужской
Re: Yoksel и класс ПоставщикДанных
Ответ #3 - 20. Августа 2010 :: 19:18
Печать  
не желательно использовать закладки, а так наверное помогло бы.
а может есть возможность не показывать закладки и что бы не на всю форму?
  
Наверх
 
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: Yoksel и класс ПоставщикДанных
Ответ #4 - 23. Августа 2010 :: 04:51
Печать  
Andrey (sttt) писал(а) 20. Августа 2010 :: 19:18:
не желательно использовать закладки, а так наверное помогло бы.
а может есть возможность не показывать закладки и что бы не на всю форму?


Не вкурил, у тебя сейчас форма без закладок, а ты просто играешься видимостью слоёв ?
Так что ли ?
Я изначально предположил, что форма у тебя с закладками и в приВыбореЗакладки ты слои переключаешь
  
Наверх
 
IP записан
 
pavel_tr
Senior Member
****
Отсутствует



Сообщений: 279
Местоположение: Казань
Зарегистрирован: 14. Октября 2006
Пол: Мужской
Re: Yoksel и класс ПоставщикДанных
Ответ #5 - 23. Августа 2010 :: 12:51
Печать  
В ТПВыбор() вызывается РедактироватьЗначение, соответственно начинается ввод в ячейку, а дальше - ИспользоватьСлой(). Т.е. хотя перед глазами уже слой с йокселем, при нажатии enter или клацаньи мышки завершается редактирование, потому и появляется табличное поле.

Вообще плохо понятно зачем так сделано. Какова задача?
  
Наверх
 
IP записан
 
Andrey (sttt)
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 49
Зарегистрирован: 10. Января 2009
Пол: Мужской
Re: Yoksel и класс ПоставщикДанных
Ответ #6 - 24. Августа 2010 :: 03:32
Печать  
Eprst писал(а) 23. Августа 2010 :: 04:51:
Не вкурил, у тебя сейчас форма без закладок, а ты просто играешься видимостью слоёв ?
Так что ли ?
Я изначально предположил, что форма у тебя с закладками и в приВыбореЗакладки ты слои переключаешь


Да, слоями пользуюсь, но не вкладками.

Я понял твое предложение с закладками, но мне нужны были слои, потому как на общем слое расположены общие контролы и манипулируя видимостью их объединяю с другими контролами на других слоях, вкладки так не умеют. было бы так как это в v8 реализовано, было бы здорово, но...

"приВыбореЗакладки ты слои переключаешь" попробую реализовать ))
  
Наверх
 
IP записан
 
Andrey (sttt)
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 49
Зарегистрирован: 10. Января 2009
Пол: Мужской
Re: Yoksel и класс ПоставщикДанных
Ответ #7 - 24. Августа 2010 :: 03:35
Печать  
pavel_tr писал(а) 23. Августа 2010 :: 12:51:
В ТПВыбор() вызывается РедактироватьЗначение, соответственно начинается ввод в ячейку, а дальше - ИспользоватьСлой(). Т.е. хотя перед глазами уже слой с йокселем, при нажатии enter или клацаньи мышки завершается редактирование, потому и появляется табличное поле.

Вообще плохо понятно зачем так сделано. Какова задача?


убрал редактировать значение, результат не изменился ((
а задача в выборе ячейки экселя и переключения назад, другой слой. в текущей ситуации это не возможно из за появления поверх табличного поля
  
Наверх
 
IP записан
 
pavel_tr
Senior Member
****
Отсутствует



Сообщений: 279
Местоположение: Казань
Зарегистрирован: 14. Октября 2006
Пол: Мужской
Re: Yoksel и класс ПоставщикДанных
Ответ #8 - 24. Августа 2010 :: 05:39
Печать  
Так работает. Дело в том, мне кажется, что в ТПВыбор активным элементом формы остаётся "ТП", даже если сделать слой невидимым.
Обратите внимание - если после изменения видимости слоя на клаве стрелками вправо-влево пошуршать, то происходит навигация по табличному документу, а клик мышкой срабатывает на табличном поле.
  

___004.ert ( 17 KB | Загрузки )
Наверх
 
IP записан
 
Salimbek
God Member
*****
Отсутствует



Сообщений: 862
Зарегистрирован: 06. Июня 2006
Пол: Мужской
Re: Yoksel и класс ПоставщикДанных
Ответ #9 - 24. Августа 2010 :: 10:06
Печать  
Надо отвязываться от событий Табличного поля, например, если надо переключиться в другой слой по двойному щелчку на Табличном поле, то если просто в процедуре обработки события ТПВыбор() переключить слои, то ТП останется видимым (т.к. его события не позволили ему стать невидимым). Я делал так, в ТПВыбор при помощи компоненты FormEx вызывал Сервис.ВнешнееСобытие("ТабличноеПоле","Выбор",Данные) и в процедуре ОбработкаВнешнегоСобытия ловил это событие и переключал слои. Так работало. Можно еще через Обработку ожидания сделать, или еще как-нибудь, главное чтобы переключение слоев происходило не в обработчике события Табличного поля.
  
Наверх
ICQ  
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: Yoksel и класс ПоставщикДанных
Ответ #10 - 24. Августа 2010 :: 10:21
Печать  
можно в ложном закрытии формы переключить видимость слоя или в формуле текстового реквизита на форме (что проще).
  
Наверх
 
IP записан
 
Andrey (sttt)
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 49
Зарегистрирован: 10. Января 2009
Пол: Мужской
Re: Yoksel и класс ПоставщикДанных
Ответ #11 - 29. Августа 2010 :: 19:17
Печать  
Salimbek писал(а) 24. Августа 2010 :: 10:06:
FormEx вызывал Сервис.ВнешнееСобытие("ТабличноеПоле","Выбор",Данные) и в процедуре ОбработкаВнешнегоСобытия ловил это событие и переключал слои. Так работало. Можно еще через Обработку ожидания сделать, или еще как-нибудь, главное чтобы переключение слоев происходило не в обработчике события Табличного поля.


мысль понял, попробую так сделать
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать