Вопрос по вызыванию формы из этой же формы | |
---|---|
natashik319 Автор Сообщений: 30 Дата регистрации: 16.05.2017 |
Всем добрый день! Стоит такая задача, нужно чтобы из формы вызывалась эта же форма. Например, я открываю форму, в которой есть информация о сборке. В гриде отображаются детали и информация в каких еще сборках была эта деталь. Ну и к примеру я хочу посмотреть информацию об одной из этих сборок. При нажатии на кнопку нужно, чтобы открылась эта же форма с информацией об интересующей сборке. У меня при открытие второго экземпляра получается, что первый экземпляр формы очищается, точнее грид очищается.
|
Re: Вопрос по вызыванию формы из этой же формы | |
---|---|
of63 Сообщений: 25254 Откуда: Н.Новгород Дата регистрации: 13.02.2008 |
А источник у грида (курсор) как заполняется? И какое имя имеет?
|
Re: Вопрос по вызыванию формы из этой же формы | |
---|---|
natashik319 Автор Сообщений: 30 Дата регистрации: 16.05.2017 |
Заполняется в отдельном методе, данные берутся из главной формы, сессия данных общая. Не совсем поняла вопрос насчет имени курсора, точнее для чего оно?) |
Re: Вопрос по вызыванию формы из этой же формы | |
---|---|
of63 Сообщений: 25254 Откуда: Н.Новгород Дата регистрации: 13.02.2008 |
Форма-то "та же самая", если имя курсора одинаковое, сессия общая, то содержимое курсоров не может быть разным...
|
Re: Вопрос по вызыванию формы из этой же формы | |
---|---|
natashik319 Автор Сообщений: 30 Дата регистрации: 16.05.2017 |
Да, я так и думала, но мне такое условие поставили... |
Re: Вопрос по вызыванию формы из этой же формы | |
---|---|
Аспид Сообщений: 3475 Откуда: Москва Дата регистрации: 01.04.2005 |
Просто установи у формы Privat data session
------------------ |
Re: Вопрос по вызыванию формы из этой же формы | |
---|---|
of63 Сообщений: 25254 Откуда: Н.Новгород Дата регистрации: 13.02.2008 |
Просто с DS не получится скорее всего
Можно генерировать случайно имя курсора динамически, и записывать его в грид, но грид будет стирать свои настройки, тоже не просто... |
Re: Вопрос по вызыванию формы из этой же формы | |
---|---|
natashik319 Автор Сообщений: 30 Дата регистрации: 16.05.2017 |
Понятно.. жаль( Ладно, спасибо) |
Re: Вопрос по вызыванию формы из этой же формы | |
---|---|
Taran Сообщений: 13624 Откуда: Красноярск Дата регистрации: 16.01.2008 |
Да не надо печалиться. Всё значительно проще чем кажется. Просто Grid нужно создавать в методе, а не в дизайне. Один метод и потом несколько строк для каждой колонки. Типа
|
Re: Вопрос по вызыванию формы из этой же формы | |
---|---|
natashik319 Автор Сообщений: 30 Дата регистрации: 16.05.2017 |
Хмм, надо подумать над этим вариантом) если не захотят уйти от общей сессии к приватной, то попробую так) спасибо! |
Re: Вопрос по вызыванию формы из этой же формы | |
---|---|
of63 Сообщений: 25254 Откуда: Н.Новгород Дата регистрации: 13.02.2008 |
на этом пути удобно осмысленно именовать колонки, например равным имени изображаемого поля, тогда можно автоматически настроить грид переписав имя колонки в качестве источника, и просто обращаться к колонке по имени...
|
Re: Вопрос по вызыванию формы из этой же формы | |
---|---|
Taran Сообщений: 13624 Откуда: Красноярск Дата регистрации: 16.01.2008 |
Это если Grid в дизайне + смена RecordSource.
Но тут куча кода понадобится для сохранения. А оно надо? На данном этапе развития. Если изначально колонки создавать программно, то и имена осмысленные не нужны. |
Re: Вопрос по вызыванию формы из этой же формы | |
---|---|
Igor Korolyov Сообщений: 34580 Дата регистрации: 28.05.2002 |
Не надо. Это удаление гланд через задницу. Именно для такого рода разделения информации и придуманы приватные датасессии. Все эти динамические имена курсоров, конструирование гридов/колонок в коде на каждый чих, макро на макро - полная ересь. ------------------ WBR, Igor |
Re: Вопрос по вызыванию формы из этой же формы | |
---|---|
Taran Сообщений: 13624 Откуда: Красноярск Дата регистрации: 16.01.2008 |
Так и знал, что глубокоуважаемый ИК опять взбеленится. Ну не нужны там макро абсолютно. По большому счету можно как раз сказать что приватные датасессии это и есть костыль для обхода фиксированных имен курсоров. По скорости проектирования тоже не все однозначно. Grid на десяток колонок у меня строится кодом. Буквально 11 строк. Зато все его параметры я вижу на одной странице кода. И Caption Header`a и ControlSource и ширину и пр... Ну и довольно значимая часть форм и Grid`jd строится на основе метаданных. Просто приложение изначально так построено. |
Re: Вопрос по вызыванию формы из этой же формы | |
---|---|
of63 Сообщений: 25254 Откуда: Н.Новгород Дата регистрации: 13.02.2008 |
Т.е. с нуля колонки создать - это немного кода, а предподговленный грид дооформить - "куча" Все в подпрограмме. Выглядит доофрмление, и установка источника примерно так - наполняется массив, массив передается настроечной подпрограмме (можете не комментировать ): |
Re: Вопрос по вызыванию формы из этой же формы | |
---|---|
ssa Сообщений: 13007 Откуда: Москва Дата регистрации: 23.03.2005 |
Какой только фигней народ не страдает лишь бы не учить матчасть...
Для решения вопроса ТС, как уже было сказано, приватные сессии. Все остальное - извращения, не относящиеся к вопросу, хотя как бы за счет побочных эффектов и решающие поставленный вопрос. ------------------ Лень - это неосознанная мудрость. |
Re: Вопрос по вызыванию формы из этой же формы | |
---|---|
lulgu Сообщений: 1838 Дата регистрации: 30.11.2016 |
Попробуйте так: для просмотра сделайте копию этой формы, удалите в ней все лишнее, в DE должны быть только нужные свои курсоры. И, вообще - для просмотра, редактирования и т.п. лучше создавать свои формы, по возможности модальные. Исправлено 1 раз(а). Последнее : lulgu, 15.12.17 18:47 |
Re: Вопрос по вызыванию формы из этой же формы | |
---|---|
of63 Сообщений: 25254 Откуда: Н.Новгород Дата регистрации: 13.02.2008 |
Угу, а остальные - лишь бы строчки лишней не написать, а все учить да учить матчасть... |
Re: Вопрос по вызыванию формы из этой же формы | |
---|---|
Аспид Сообщений: 3475 Откуда: Москва Дата регистрации: 01.04.2005 |
С какой это стати? А для чего тогда ДС? 100%))) И не обязательно так как ты говоришь. Самое простое создать в дизайнере. А уже при создании формы, рекордсорц="" И промапить колонки. Пописать конечно надо, но не много. А уж со временем, коли нужда будет, лучше конечно свой грид... Ну тут возможны разные подходы) У меня вообще строк нет) Просто есть класс, для сущности, где он описан, и по нему хоть грид, хоть что. Но это... долгий путь. а написать
------------------ |
Re: Вопрос по вызыванию формы из этой же формы | |
---|---|
Taran Сообщений: 13624 Откуда: Красноярск Дата регистрации: 16.01.2008 |
Именно так, Олега, именно так. У Grid`а есть метод CreateColumns. Я захожу в него и пишу WITH THIS [ENTER] Далее при нажатии точки мне IntteliSence подсказывает метод для создания колонки или чего еще. Выбираю метод, далее опять подсказка по параметрам. Всё! Мне не надо елозить мышкой по экрану, выбирать в окне свойств HEADER чтобы задать Caption. Не надо прокручивать окно свойств до параметра WIDTH. И прочее. В реальной жизни хочется сохранить порядок колонок, ширину, видимость. Для последующего использования. Учесть права доступа к некоторым колонкам для отдельных юзверей. Все это при наличии колонок доставляет хлопоты. По крайней мере порядок колонок. При динамическом создании колонок они сразу отсортированы и имеют нужную ширину и видимость. Всякие Dynamic также задаются в этой единственной команде создания колонки. При желании внедрить метод в колонку она просто создается на основе конкретного класса, который также в PRG расписан. Просто когда это все работает - возвращаться к дизайну Grid нет никакого желания. Отчасти визуальная настройка Grid`а подобна использованию визардов в фоксе. Но мы же ими не пользуемся как только чуток заматереем. Ну и при нативной БД - накладные расходы на открытие таблиц. Просто это мало кого волнует. Но когда счет идет на секунды, то ... И еще. Допустим есть некоторая штучка для поиска текста во всем своем коде и пр... И замена найденного. Когда это найденное находится в методе, а не в свойствах многие манипуляции становятся значительно проще. Я не утверждаю, что не использую приватные ДС. Использую в конкретно того требующих случаях. Допустим плагин какой, имеющий весьма отдаленное отношение к основной программе. Пейджер допустим или SMS-менеджер... |
© 2000-2024 Fox Club  |