![]() |
#1 |
Участник
|
Работа с tabpage и созданием новой записи
Здраствуйте, возникла проблема, есть простенькая форма с шапкой и строками. В строках есть 2 табпэйджа, под строками лежит 1 таблица, в каждом tabpage лежит по grid-у, и в каждом оторбажается по 2 поля одной записи. Как сделать так чтобы при нажатии СОЗДАТЬ НОВУЮ ЗАПИСЬ запись создавалась только в 1 гриде, а если надо то заходим во второй tabpage и нажимаем СОЗДАТЬ НОВУЮ ЗАПИСЬ и можем заполнить остальные 2 поля этой записи. Вроде так.
|
|
![]() |
#2 |
Участник
|
Вроде все должно одной строкой в initValue - DataSource проделываться
|
|
![]() |
#3 |
Участник
|
Помогите пожалуйста кто как может :-)
|
|
![]() |
#4 |
Гость
|
А не поделитесь сокровенным знанием в чем цель подобных манипуляций и изврата?
Просто если есть желание открывать для редактирования некие поля то городить подобное безнравственно так идет в разрез с общепринятыми способами решений подобных задач. |
|
![]() |
#5 |
Участник
|
Я делаю это по заданию))) Мне и самому не понятно зачем так извращаться. Но сделать надо именно так. Пока что нашел такой вариант - скопировать таблицу еще раз в datasource т.е. для каждого грида у нас свой datasource которые в итоге ссылаются на одну и ту же запись в реальной таблице. Проблема в отображении, т.е. когда смотрю все записи в tabpage-ах, в одном вижу например 2 пустых поля 3 заполненых, в другом вижу 2 заполенных - 3 пустых. Вопрос как это убрать?
|
|
![]() |
#6 |
Участник
|
Если вас не затруднит можете рассказать этот общепринятый способ решения задач??)))))
|
|
![]() |
#7 |
Гость
|
Сочувствую.
Цитата:
Сообщение от GOL
![]() Мне и самому не понятно зачем так извращаться. Но сделать надо именно так. Пока что нашел такой вариант - скопировать таблицу еще раз в datasource т.е. для каждого грида у нас свой datasource которые в итоге ссылаются на одну и ту же запись в реальной таблице. Проблема в отображении, т.е. когда смотрю все записи в tabpage-ах, в одном вижу например 2 пустых поля 3 заполненых, в другом вижу 2 заполенных - 3 пустых. Вопрос как это убрать?
|
|
![]() |
#8 |
Участник
|
Как сказал постановщик задачи, у тебя все правильно, теперь initValue DataSource надо 1 -2 строки дописать)))) Дополнение к пред. сообщению: не как это убрать, а как сделать так что бы в левом гриде отображались только 3 заполенные строки, а в правом соответсвенно 2 зап. строки)))) Вот
|
|
![]() |
#9 |
Гость
|
Цитата:
Строки там просто строки в одном гриде а для заполнения разных полей служат дополнительные tabpage и никаких гридов там не видно. |
|
![]() |
#10 |
Участник
|
Спасибо!
|
|
![]() |
#11 |
Участник
|
Может быть, надо фильтры наложить на датасорсы?
|
|
|
За это сообщение автора поблагодарили: S.Kuskov (1). |
![]() |
#12 |
Участник
|
Цитата:
Сообщение от GOL
![]() Я делаю это по заданию))) Мне и самому не понятно зачем так извращаться. Но сделать надо именно так. Пока что нашел такой вариант - скопировать таблицу еще раз в datasource т.е. для каждого грида у нас свой datasource которые в итоге ссылаются на одну и ту же запись в реальной таблице. Проблема в отображении, т.е. когда смотрю все записи в tabpage-ах, в одном вижу например 2 пустых поля 3 заполненых, в другом вижу 2 заполенных - 3 пустых. Вопрос как это убрать?
Цитата:
Сообщение от GOL
![]() Как сказал постановщик задачи, у тебя все правильно, теперь initValue DataSource надо 1 -2 строки дописать)))) Дополнение к пред. сообщению: не как это убрать, а как сделать так что бы в левом гриде отображались только 3 заполенные строки, а в правом соответсвенно 2 зап. строки)))) Вот
|
|
![]() |
#13 |
Участник
|
Ещё предположение. У вас обе вкладки должны содержать одинаковый по составу набор столбцов (с такими же типами и с такими же наименованиями)? Если так, то задача проясняется. Таблица строк у вас должна содержать один набор столбцов (в вашем случае это только два поля, а не четыре по два на каждую вкладку, как все подумали прочитав ваш вопрос
![]() |
|
![]() |
#14 |
Участник
|
Я вот такой постановки вообще не понимаю. Сделали три строки на первом гриде и заполнили поля, идем на второй грид и хотим заполнить поля для второй строки - как это сделать? Т.е. даже если и реализуете отображение как хочет постановщик, то как будете делать выбор строки во втором гриде?
Поддерживаю коллег - так не делается в AX (да и вообще в нормальных системах). Об этом надо явно сказать постановщику.
__________________
Ivanhoe as is.. |
|
![]() |
#15 |
Участник
|
Если моя догадка верна, то всё становиться на свои места. Авор просто коряво сформулировал задачу. Как я вижу, на самом деле по структуре таблица строк похожа на InventTableModule, где одни и теже поля используются для хранения настроек разных модулей. А у GOL строки разного типа но с одними и теми же полями. GOL, я прав?
|
|
![]() |
#16 |
северный Будда
|
И я не понимаю. А вы можете, хотя бы на качественном уровне, описать бизнес-задачу? Без этого все в один голос будут вам рекомендовать убить ап стену постановщика и потребовать изменения ТЗ.
__________________
С уважением, Вячеслав |
|
![]() |
#17 |
Участник
|
Здраствуйте еще раз! Вообщем уточнил условия задачи. Таблица точно должна быть одна, это та которая под разными tabpage, в разных вкладках должны отображаться разные столбцы одной записи, т.е. их может быть и 5 и 10 и сколько угодно. Только должны отображаться они без пропусков т.е. у нас есть 3 строки, в одной заполнены первые 2 колонки, а в остальных две последние колонки. все эти 3 записи однозначно соответсвуют записи из шапки. Когда смотрим в 1 tabpage видим 1 строку из 2 полей заполненую, а во 2 tabpage только 2 строки, без пустых строк! Всем спасибо за внимание!
|
|
![]() |
#18 |
Участник
|
Это не обсуждается? Вы решаете выдуманную тестовую задачу? Или в этом есть какой-то смысл? Я же правильно вас понял, что каждая строчка должна отображаться только на одной из вкладок и никогда на обеих сразу. Так, как если бы это были бы две разные таблицы?
Цитата:
Как бы я решал подобную задачу? Я уже писал что в таких случаях обычно в таблице строк делают поле - тип строки, которое определяет на какой из вкладок должна отображаться эта конкретная строчка. Последний раз редактировалось S.Kuskov; 07.04.2011 в 11:04. |
|
|
За это сообщение автора поблагодарили: GOL (1). |
![]() |
#19 |
Участник
|
Да, видимо задача тестовая. Её надо решать именно таким образом. Фильтровать надо пустые строки? т.е. если какие то 2 поля строки пустые то не отображать их? Как примерно выглядит такой фильтр, и мне кажется что это надо сделать в init методе DS?
|
|
![]() |
#20 |
Участник
|
Ответьте, все-таки на вопрос: как заполняются поля на разных вкладках? Или в форме только отображение, а заполнение полей происходит в другом месте?
__________________
Ivanhoe as is.. |
|