02.02.2006, 16:37 | #1 |
Участник
|
Как задать имя контрола на RunBase
Когда делаю так
PHP код:
s = dialogCompartID.name(); значение s = "Fld1_1" Хочу что бы это значение было "MyID" Как это сделать ? |
|
02.02.2006, 17:15 | #2 |
Administrator
|
1. (В лоб, несмотря ни на что) - переписать классы DialogField, DialogControl для реализации фичи. Крайне не рекомендую делать.
2. (Если цель - обозвать контрол по своему) - подложите свою форму в диалог (пример - класс Tutorial_RunbaseForm) 3. (Если цель - не обозвать контрол по своему, а попытаться что-то реализовать конкретное) - в зависимости от задачи - попытаться обойти (для чего Вам нужно именно переименование?). Здесь нужно понимание того, чего вам нужно в конечном счете. Уточните - для чего вам нужно переименовать контрол - и возможно все решится более легким способом
__________________
Возможно сделать все. Вопрос времени |
|
02.02.2006, 17:58 | #3 |
Участник
|
Хочу перегрузить метод LookUp. Для этого нужно написать метод MyID_lookUP. Т.е. я должен знать как будет именоваться контрол заранее.
|
|
02.02.2006, 18:02 | #4 |
Administrator
|
Тогда загляните сначала сюда. Это уже обсуждалось как сделать:
http://www.axforum.info/forums/showt...6721#post76721 Т.е. собсно говоря - Вам ничто не мешает сделать метод Fld1_1_lookup
__________________
Возможно сделать все. Вопрос времени |
|
02.02.2006, 18:15 | #5 |
Участник
|
Это я уже читал. Возможно чего то недопонял. Если сделать Fld1_1_LookUP, тогда возможно что в след. раз Аксапта сгенерит Fld1_2 имя и тогда никакой лукап уже работать не будет
|
|
02.02.2006, 18:25 | #6 |
NavAx
|
Цитата:
Сообщение от arnold
Это я уже читал. Возможно чего то недопонял. Если сделать Fld1_1_LookUP, тогда возможно что в след. раз Аксапта сгенерит Fld1_2 имя и тогда никакой лукап уже работать не будет
__________________
Isn't it nice when things just work? |
|
02.02.2006, 18:27 | #7 |
----------------
|
Кстати, господа, в приведенном топике есть ссылка, а там есть проект, где это уже все сделано. Все переписано и нужные методы для переименовывания созданы.
|
|
03.02.2006, 10:15 | #8 |
Участник
|
Смотрел этот проект. Там только один класс и некомпилируемые методы. Очевидно что addFieldValue должен быть перегружен. Но в проекте его нет. Сделал уже форму, слишком долго извращатся нет времени .
fieldKDVLocationId = dialog.addFieldValue(typeid(KDVLocationId), KDVLocationId, '', '', 'KDVLocationId'); fieldLocationId = dialog.addFieldValue(typeid(InventLocationId), locationId, '', '', 'LocationId'); |
|
03.02.2006, 10:24 | #9 |
Administrator
|
Цитата:
Сообщение от arnold
Fld1_1_LookUP, тогда возможно что в след. раз Аксапта сгенерит Fld1_2 имя и тогда никакой лукап уже работать не будет
Аксапта не генерит от случая к случаю имен контролов. Все делается по определенной системе
__________________
Возможно сделать все. Вопрос времени |
|
03.02.2006, 13:32 | #10 |
Участник
|
Когда у меня встала подобная задача решит ее не перекрывая стандартных классов, а добавил два новых наследника. Из прикрепленного файла должно быть понятно, как все работает.
Если необходимо, то опишу поподробнее. Сразу опишу, что не решение не работает при добавлении полей типа массив (т.е. Dimension) |
|
|
За это сообщение автора поблагодарили: Logger (3), PavelX (1). |