28.07.2005, 13:54 | #1 |
Участник
|
DataField
Сталкивались вы с такой ситуацией?
В открытой форме при нажатии некой кнопки некоему контролу в гриде необходимо переобозначить источник данных (с одного поля таблицы на другое) PHP код:
итак вопрос? получалось ли заменить источник данных программно, и потом обновить грид? P.S. Вариант с переменным скрытием двух разных контролов RealContral1 = Field1, RealContral2 = Field2 не предлагать))) |
|
28.07.2005, 13:57 | #2 |
Модератор
|
Говорил и еще раз говорю:
1) Используй дисплей метод , который берет данные то из одной, то из другой таблицы. Только закэшировать не забудь. 2) Или выводи 2 поля, и скрывай или одно, или другое. Ну, пожалей же ты людей, которые после тебя придут и будут в твоем чудесном код рыться. Мы все знаем, что тв отличный прогаммист С Уважением, Георгий. |
|
28.07.2005, 14:02 | #3 |
Участник
|
Цитата:
Изначально опубликовано George Nordic
Говорил и еще раз говорю: Ну, пожалей же ты людей, которые после тебя придут и будут в твоем чудесном код рыться. Мы все знаем, что тв отличный прогаммист еще раз отвечаю, таблица одна, а полей два...меняем одно поле на другое... P.S. прочитав мои сообщения, можно придти к выводу, что я деградирую)) |
|
28.07.2005, 14:28 | #4 |
Administrator
|
Вообще, если проэкспериментировать - получается интересная картина (сразу оговорюсь - я считаю - скрытие поля или на худой конец дисплей-метод - заведомо лучшими решениями).
Формально - вроде как есть у контролов (тип FormControl) - есть свойство dataField, которое вроде как даже можно изменить. И оно меняется. Т.е. условно - берем форму, делаем грид, кнопку, по нажатию которой меняем вышеуказанное свойство. Получаем - да, свойство меняется... но форма не перерисовывается. Задумываемся - значит надо вызвать какой-то супер метод типа перестроить грид (ну в котором контрол сидит)... и вроде как о! есть у контрола метод update, updateWindow... Но они не дают ожидаемого эффекта. А вот заглянув в книжку Еременко-Шашкова - видим - что вот у формы есть метод reload, который вроде как должен позволять чего-то сделать (хотя может и не должен). И написано (в книжке) - зарезервировано для будущего использования. Отсюда можно сделать вывод - скорее всего в Аксапте пока нереализовали возможность в рантайме менять информацию о данных - в связи с тем, что это-то и не сильно нужно - ведь есть гораздо лучшие способы, предложенные George Nordic. Хотя я тоже могу ошибаться. |
|
28.07.2005, 14:43 | #5 |
Участник
|
Создавай все свои контролы налету, как в диалогах. А при нажатии конопки все перестраивай.
Как раз укладывается в философию "сделаювсечерезодноместопоапотомбудувсехдоставатьтупымивопросамипочемуононеработает". |
|
28.07.2005, 14:52 | #6 |
Administrator
|
не... так-то оно понятно... интересно было просто поэкспериментировать
почему бы не поисследовать ... а потом если изначально (см первое сообщение) закладывается сия философия.... то всегда интересно на каком этапе сие застопорится |
|
28.07.2005, 15:31 | #7 |
Участник
|
2 БП
Во-первых, не хамите, не в трамвае. Во-вторых, всегда лучше промолчать, если сказать нечего. |
|
28.07.2005, 15:35 | #8 |
Участник
|
to Alex_K
Спасибо |
|
28.07.2005, 15:36 | #9 |
Участник
|
Дело в том, что простое спрятать/показать контролы, если их несколько, сопровождается неприятным мельтешением картинки, особенно на медленной машинке. Отсюда и попытка найти другие варианты...
|
|
28.07.2005, 16:10 | #10 |
Участник
|
Цитата:
Изначально опубликовано Alex_K
Дело в том, что ... сопровождается неприятным мельтешением картинки... |
|
01.08.2005, 16:24 | #11 |
Участник
|
Цитата:
Изначально опубликовано dn
А может лучше использовать lockWindowUpdate, чем идти на подобные эксперименты... то есть нада данное (каждое) поле описывать программно? |
|
01.08.2005, 16:26 | #12 |
Moderator
|
Цитата:
сли данное свойство есть свойство контрола на форме, почему я не вижу его в списках свойств?
|
|
01.08.2005, 16:29 | #13 |
Участник
|
Цитата:
Изначально опубликовано Андре
Если мне не изменяет память, то это метод. |
|
01.08.2005, 16:46 | #14 |
Участник
|
опыт с lockWindowUpdate не удался...
помаргивание формы все равно есть, лучше способа с дисплей - методами не нашла)) |
|
01.08.2005, 16:47 | #15 |
Участник
|
Спасибо всем за ответы))
|
|
03.07.2007, 12:57 | #16 |
Участник
|
Кто-нибудь пробовал, изменять значение DataSource и DataField у поля в грида в зависимости от места открытия формы?
Цитата:
Сообщение от sukhanchik
Вообще, если проэкспериментировать - получается интересная картина (сразу оговорюсь - я считаю - скрытие поля или на худой конец дисплей-метод - заведомо лучшими решениями).
Формально - вроде как есть у контролов (тип FormControl) - есть свойство dataField, которое вроде как даже можно изменить. И оно меняется. Т.е. условно - берем форму, делаем грид, кнопку, по нажатию которой меняем вышеуказанное свойство. Получаем - да, свойство меняется... но форма не перерисовывается. Задумываемся - значит надо вызвать какой-то супер метод типа перестроить грид (ну в котором контрол сидит)... и вроде как о! есть у контрола метод update, updateWindow... Но они не дают ожидаемого эффекта. А вот заглянув в книжку Еременко-Шашкова - видим - что вот у формы есть метод reload, который вроде как должен позволять чего-то сделать (хотя может и не должен). И написано (в книжке) - зарезервировано для будущего использования. Отсюда можно сделать вывод - скорее всего в Аксапте пока нереализовали возможность в рантайме менять информацию о данных - в связи с тем, что это-то и не сильно нужно - ведь есть гораздо лучшие способы, предложенные George Nordic. Хотя я тоже могу ошибаться.
__________________
Denkt dran, dass jeder eurer Schritte auch durch die unsichtbare Welt fuehrt, und tut ihn so, dass ihr ihn bestehen koennt. |
|
03.07.2007, 13:01 | #17 |
Участник
|
Цитата:
Сообщение от Hans
Кто-нибудь пробовал, изменять значение DataSource и DataField у поля в грида в зависимости от места открытия формы? Т.е. не менять эти параметры у уже открытой формы, а при открытии формы (в зависимости через какой menuItem она была открыта) выставлять нужные значения. Есть ли решение у этой проблемы, если поставить задачу таким образом?
класс SysTableBrowser тебе в помощь |
|
|
За это сообщение автора поблагодарили: Hans (1). |
03.07.2007, 13:33 | #18 |
Участник
|
ага, спасибо за помощь. сейчас хотя бы знаю куда "копать".
__________________
Denkt dran, dass jeder eurer Schritte auch durch die unsichtbare Welt fuehrt, und tut ihn so, dass ihr ihn bestehen koennt. |
|
Теги |
программно, ax3.0 |
|
Похожие темы | ||||
Тема | Ответов | |||
Проблемма с выводом итогов в отчетах AX 3.0 SP 4 | 6 | |||
Что возвращает FormStringControl.dataField()? | 2 |
|