提交更改时自定义查询屏幕选项卡消失
Custom Inquiry Screen Tab Disappears when Committing Changes
我有一个自定义查询屏幕。你select一个客户和一个日期,它会为客户显示不同记录的信息。两个tab是自定义表,一个tab是contracts(Leases),另一个tab是所有的items,都是某些非stock items(deposits)的支付和退款。
当我 select 一个客户时,"Leases" 选项卡消失了。当我从屏幕上的操作启动查询时,数据显示。但是更改屏幕上的任何信息都会导致选项卡关闭。所有选项卡都设置相同。这是有问题的网格:
<px:PXTabItem Text="Leases">
<Template>
<px:PXGrid ID="gridCustomerLeases" runat="server" DataSourceID="ds" Width="100%" Height="150px" SkinID="Details" AllowAutoHide="False" TabIndex="700">
<Levels>
<px:PXGridLevel DataMember="CustomerLeases">
<RowTemplate>
<px:PXNumberEdit ID="edCLTQty" runat="server" AlreadyLocalized="False" DataField="ContractDetail__Qty"></px:PXNumberEdit>
<px:PXSegmentMask ID="edCLTUsrCYLeaseInventoryID" runat="server" DataField="InventoryItem__UsrCYLeaseInventoryID" AllowEdit="true"></px:PXSegmentMask>
<px:PXSegmentMask ID="edCLTInventoryItem__InventoryCD" runat="server" DataField="InventoryItem__InventoryCD" AllowEdit="true"></px:PXSegmentMask>
</RowTemplate>
<Columns>
<px:PXGridColumn DataField="InventoryItem__InventoryCD"></px:PXGridColumn>
<px:PXGridColumn DataField="InventoryItem__UsrCYLeaseInventoryID"></px:PXGridColumn>
<px:PXGridColumn DataField="ContractDetail__Qty" TextAlign="Right" Width="100px"></px:PXGridColumn>
<px:PXGridColumn DataField="Contract__ActivationDate" TextAlign="Right" Width="150px"></px:PXGridColumn>
<px:PXGridColumn DataField="Contract__ExpireDate" TextAlign="Right" Width="150px"></px:PXGridColumn>
</Columns>
</px:PXGridLevel>
</Levels>
<AutoSize Container="Window" Enabled="True" MinHeight="150" />
</px:PXGrid>
</Template>
</px:PXTabItem>
这是附加到网格的视图
public SelectFrom<ContractDetail>
.InnerJoin<Contract>.On<ContractDetail.contractID.IsEqual<Contract.contractID>>
.InnerJoin<ContractItem>.On<ContractItem.contractItemID.IsEqual<ContractDetail.contractItemID>>
.InnerJoin<InventoryItem>.On<InventoryItemExt.usrCYLeaseContractItemID.IsEqual<ContractItem.contractItemID>>
.Where<Brackets<
Contract.terminationDate.IsNull
.Or<Contract.terminationDate.IsGreaterEqual<CustomerCylinderInqFilter.fromDate.FromCurrent>>
>
.And<Contract.customerID.IsEqual<CustomerCylinderInqFilter.customerID.FromCurrent>
.And<Contract.activationDate.IsLessEqual<CustomerCylinderInqFilter.fromDate.FromCurrent>>>>
.View.ReadOnly
CustomerLeases;
其他网格使用相似的字段和相同的过滤字段但正确显示。
您必须具有与网格上的视图相关联的主视图,而无需在网格中指定 DAC。因为 ContractDetail 是视图上的主要 DAC,所以必须删除 ContractDetail__。更新行
<px:PXNumberEdit ID="edCLTQty" runat="server" AlreadyLocalized="False" DataField="ContractDetail__Qty"></px:PXNumberEdit>
<px:PXGridColumn DataField="Qty" TextAlign="Right" Width="100px"></px:PXGridColumn>
至
<px:PXNumberEdit ID="edCLTQty" runat="server" AlreadyLocalized="False" DataField="ContractDetail__Qty"></px:PXNumberEdit>
<px:PXGridColumn DataField="Qty" TextAlign="Right" Width="100px"></px:PXGridColumn>
成功了。
当复制网格并更改视图上的主 DAC 并且不删除 DataField 属性上的 DAC 前缀时,您可以 运行 进入此。
我有一个自定义查询屏幕。你select一个客户和一个日期,它会为客户显示不同记录的信息。两个tab是自定义表,一个tab是contracts(Leases),另一个tab是所有的items,都是某些非stock items(deposits)的支付和退款。
当我 select 一个客户时,"Leases" 选项卡消失了。当我从屏幕上的操作启动查询时,数据显示。但是更改屏幕上的任何信息都会导致选项卡关闭。所有选项卡都设置相同。这是有问题的网格:
<px:PXTabItem Text="Leases">
<Template>
<px:PXGrid ID="gridCustomerLeases" runat="server" DataSourceID="ds" Width="100%" Height="150px" SkinID="Details" AllowAutoHide="False" TabIndex="700">
<Levels>
<px:PXGridLevel DataMember="CustomerLeases">
<RowTemplate>
<px:PXNumberEdit ID="edCLTQty" runat="server" AlreadyLocalized="False" DataField="ContractDetail__Qty"></px:PXNumberEdit>
<px:PXSegmentMask ID="edCLTUsrCYLeaseInventoryID" runat="server" DataField="InventoryItem__UsrCYLeaseInventoryID" AllowEdit="true"></px:PXSegmentMask>
<px:PXSegmentMask ID="edCLTInventoryItem__InventoryCD" runat="server" DataField="InventoryItem__InventoryCD" AllowEdit="true"></px:PXSegmentMask>
</RowTemplate>
<Columns>
<px:PXGridColumn DataField="InventoryItem__InventoryCD"></px:PXGridColumn>
<px:PXGridColumn DataField="InventoryItem__UsrCYLeaseInventoryID"></px:PXGridColumn>
<px:PXGridColumn DataField="ContractDetail__Qty" TextAlign="Right" Width="100px"></px:PXGridColumn>
<px:PXGridColumn DataField="Contract__ActivationDate" TextAlign="Right" Width="150px"></px:PXGridColumn>
<px:PXGridColumn DataField="Contract__ExpireDate" TextAlign="Right" Width="150px"></px:PXGridColumn>
</Columns>
</px:PXGridLevel>
</Levels>
<AutoSize Container="Window" Enabled="True" MinHeight="150" />
</px:PXGrid>
</Template>
</px:PXTabItem>
这是附加到网格的视图
public SelectFrom<ContractDetail>
.InnerJoin<Contract>.On<ContractDetail.contractID.IsEqual<Contract.contractID>>
.InnerJoin<ContractItem>.On<ContractItem.contractItemID.IsEqual<ContractDetail.contractItemID>>
.InnerJoin<InventoryItem>.On<InventoryItemExt.usrCYLeaseContractItemID.IsEqual<ContractItem.contractItemID>>
.Where<Brackets<
Contract.terminationDate.IsNull
.Or<Contract.terminationDate.IsGreaterEqual<CustomerCylinderInqFilter.fromDate.FromCurrent>>
>
.And<Contract.customerID.IsEqual<CustomerCylinderInqFilter.customerID.FromCurrent>
.And<Contract.activationDate.IsLessEqual<CustomerCylinderInqFilter.fromDate.FromCurrent>>>>
.View.ReadOnly
CustomerLeases;
其他网格使用相似的字段和相同的过滤字段但正确显示。
您必须具有与网格上的视图相关联的主视图,而无需在网格中指定 DAC。因为 ContractDetail 是视图上的主要 DAC,所以必须删除 ContractDetail__。更新行
<px:PXNumberEdit ID="edCLTQty" runat="server" AlreadyLocalized="False" DataField="ContractDetail__Qty"></px:PXNumberEdit>
<px:PXGridColumn DataField="Qty" TextAlign="Right" Width="100px"></px:PXGridColumn>
至
<px:PXNumberEdit ID="edCLTQty" runat="server" AlreadyLocalized="False" DataField="ContractDetail__Qty"></px:PXNumberEdit>
<px:PXGridColumn DataField="Qty" TextAlign="Right" Width="100px"></px:PXGridColumn>
成功了。
当复制网格并更改视图上的主 DAC 并且不删除 DataField 属性上的 DAC 前缀时,您可以 运行 进入此。