Как отобразить сетку с формой деталей в форме Master detail в acumatica? - PullRequest
1 голос
/ 04 августа 2020

У меня есть основная форма дочерних отношений.

В дочерней форме у меня есть сетка, мне нужна моя собственная функция «Вставить», поэтому я просто отключил кнопку действия сетки «Добавить» и добавил новую настраиваемую кнопку, сейчас что я хочу

  1. В пользовательской кнопке «Добавить» я вызываю метод child.Insert () для добавления строки,
  2. Теперь я вижу добавленную строку в сетке,
  3. Я хочу обновить добавленную строку с помощью формы сведений, не используя строку сетки, поэтому я добавил Formview ниже сетки
  4. В formview я хочу показать детали вставленной строки, она показывает текущую добавленную строку.
  5. При выборе строки сетки, я хочу показать детали в деталях. Сетка

Если пользователь редактирует детали, я хотел бы показать все детали редактирования в таблице,

Таким же образом пользователь может добавлять / редактировать несколько строк, используя подробную форму. Как я могу этого добиться? После добавления строки, если я хочу добавить еще одну строку, то при нажатии кнопки добавления появляется ошибка несохраненных данных. Как я могу достичь вышеуказанной функциональности?

 <px:PXFormView ID="rootCauseanaDataTab" runat="server" Width="100%" DataMember="MyData"
                        DataSourceID="ds" SkinID="Transparent">
                        <Template>
                            <px:PXLayoutRule runat="server" StartRow="true" StartColumn="True" LabelsWidth="SM" ControlSize="XM"></px:PXLayoutRule>
                            <px:PXButton ID="pxAddNew" runat="server" CommandName="AddNewData" CommandSourceID="ds" Text="Add Rootcause"></px:PXButton>
                            <px:PXLayoutRule runat="server" StartRow="true" StartColumn="True" LabelsWidth="SM" ControlSize="XM"></px:PXLayoutRule>
                            <px:PXSelector ID="edRootId" runat="server" AlreadyLocalized="False" DataField="CauseId" AutoRefresh="true">
                            </px:PXSelector>
                            <px:PXRichTextEdit ID="edRootCauseDesc" runat="server" AlreadyLocalized="False" DataField="Description">
                            </px:PXRichTextEdit>

                        </Template>
                    </px:PXFormView>
                    <px:PXGrid ID="PXGridNCTranRootCauseanaData" RepaintColumns="true" runat="server" Caption="Root Cause anaData" DataSourceID="ds" Height="150px" Width="100%" SkinID="Details" SyncPosition="true">
                        <ActionBar>
                            <Actions>
                                <AddNew Enabled="false" />
                            </Actions>
                        </ActionBar>
                        <Levels>
                            <px:PXGridLevel DataKeyNames="CauseId" DataMember="MyData">
                                <RowTemplate>
                                    <px:PXLayoutRule runat="server" ControlSize="XM" LabelsWidth="M" StartColumn="True" />
                                    <px:PXSelector ID="gdRootcauseId" runat="server" AllowEdit="true" AlreadyLocalized="False" DataField="RootCauseId" AutoRefresh="true">
                                    </px:PXSelector>
                                    <px:PXSelector ID="gdanaDataPerformedBy" AllowEdit="true" runat="server" AlreadyLocalized="False" DataField="anaDataPerformedBy" AutoRefresh="true">
                                    </px:PXSelector>
                                </RowTemplate>
                                <Columns>
                                    <px:PXGridColumn DataField="CauseId" TextAlign="Left" Width="135px" />
                                    <px:PXGridColumn DataField="Description" Width="80px" />
                                    
                                </Columns>
                            </px:PXGridLevel>
                        </Levels>
                        <AutoCallBack Target="tree" Command="Refresh" ActiveBehavior="True">
                            <Behavior RepaintControlsIDs="rootCauseanaDataTab"></Behavior>
                        </AutoCallBack>
                    </px:PXGrid>

1 Ответ

0 голосов
/ 12 августа 2020

Что касается вашей проблемы с тем, что форма не обновляется, я заметил, что ваша цель установлена ​​как Tree, можете ли вы также попробовать изменить это на rootCauseanaDataTab? А также попробуйте добавить BlockPage = "True" CommitChanges = "True"

Пример кода:

  <AutoCallBack Target="rootCauseanaDataTab" Command="Refresh" ActiveBehavior="True">
        <Behavior RepaintControlsIDs="rootCauseanaDataTab"  BlockPage="True" CommitChanges="True"></Behavior>
    </AutoCallBack>
...