【发布时间】:2020-08-04 12:51:34
【问题描述】:
我有主子关系表。
在子窗体中,我有一个网格,我想要我自己的“插入”功能,所以我只是禁用了“添加新”网格操作按钮和添加新的自定义按钮, 现在我想要什么
- 在自定义添加按钮中,我正在调用 child.Insert() 方法来添加行,
- 现在我可以在 Grid 中看到添加的行,
- 我想使用 Detail 表单更新添加的行,而不是使用 Grid 行,所以我在 Grid 下方添加了一个 Formview
- 在窗体视图中,我想显示插入的行详细信息,它显示的是当前添加的行。
- 在选择网格行时,我想详细显示网格的详细信息
如果用户编辑详细信息,那么我想在网格中显示所有编辑详细信息,
同样,用户可以使用详细信息表单添加/编辑多行,我该如何实现? 添加一行后,如果我想添加另一行然后单击添加按钮出现未保存的数据错误,我该如何实现上述功能?
<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>
【问题讨论】:
-
我通过在网格外添加一个按钮解决了上述问题。只是一个小问题。当我选择一行时,我想在详细表单中显示所选行的详细信息,在行选择中表单回发,但表单视图数据不刷新。请检查上面的Html 为什么?
-
我不确定你是否已经查看过这篇博文:asiablog.acumatica.com/2019/04/…