在图表中查看的记录数
Record count for view in graph
我有一个简单的 master/detail 维护屏幕的图表。主数据显示在顶部表格中,详细信息显示在底部的网格中。可以删除详细信息行。
我想写一些代码在删除最后一条详细记录时删除主记录。当每一行被删除时,我还需要做其他处理,但我可以处理。我打算在 RowDeleted 处理程序中执行此操作。
我的问题是:我可以访问视图中活动行的计数而不必 运行 通过循环来计算它们吗?我无法从数据库中执行 select,因为它们尚未保存。我有下面图表的摘录。检测最后一个详细信息行已被删除的最简单方法是什么?
public PXSelect<EDASN> ASN;
public PXSelectJoin<EDASNShipment,
LeftJoin<SOShipment, On<SOShipment.shipmentNbr, Equal<EDASNShipment.shipmentNbr>>,
LeftJoin<SOOrderShipment, On<SOOrderShipment.shipmentNbr, Equal<EDASNShipment.shipmentNbr>>,
LeftJoin<SOOrder, On<SOOrder.orderNbr, Equal<SOOrderShipment.orderNbr>>>>>,
Where<EDASNShipment.aSNNbr, Equal<Current<EDASN.aSNNbr>>>> ASNShipment;
protected virtual void EDASNShipment_RowDeleted(PXCache sender, PXRowDeletedEventArgs e)
{
EDASNShipment row = ASNShipment.Current;
EDASN asn = this.ASN.Current;
// need to determine if any shipments left on ASN
// can I access a "count" of active rows from the ASNShipment view cache
}
我已经解决了这个问题。我刚刚搜索了缓存,如果返回 null,则最后一批货已被删除。
protected virtual void EDASNShipment_RowDeleted(PXCache sender, PXRowDeletedEventArgs e)
{
EDASNShipment row = ASNShipment.Current;
EDASNShipment asnShipments = this.ASNShipment.Search<EDASNShipment.aSNNbr>(row.ASNNbr);
// Remove ASN record if no more shipments
if (asnShipments == null)
{
EDASN asn = this.ASN.Current;
this.ASN.Delete(asn);
this.Persist();
}
我有一个简单的 master/detail 维护屏幕的图表。主数据显示在顶部表格中,详细信息显示在底部的网格中。可以删除详细信息行。
我想写一些代码在删除最后一条详细记录时删除主记录。当每一行被删除时,我还需要做其他处理,但我可以处理。我打算在 RowDeleted 处理程序中执行此操作。
我的问题是:我可以访问视图中活动行的计数而不必 运行 通过循环来计算它们吗?我无法从数据库中执行 select,因为它们尚未保存。我有下面图表的摘录。检测最后一个详细信息行已被删除的最简单方法是什么?
public PXSelect<EDASN> ASN;
public PXSelectJoin<EDASNShipment,
LeftJoin<SOShipment, On<SOShipment.shipmentNbr, Equal<EDASNShipment.shipmentNbr>>,
LeftJoin<SOOrderShipment, On<SOOrderShipment.shipmentNbr, Equal<EDASNShipment.shipmentNbr>>,
LeftJoin<SOOrder, On<SOOrder.orderNbr, Equal<SOOrderShipment.orderNbr>>>>>,
Where<EDASNShipment.aSNNbr, Equal<Current<EDASN.aSNNbr>>>> ASNShipment;
protected virtual void EDASNShipment_RowDeleted(PXCache sender, PXRowDeletedEventArgs e)
{
EDASNShipment row = ASNShipment.Current;
EDASN asn = this.ASN.Current;
// need to determine if any shipments left on ASN
// can I access a "count" of active rows from the ASNShipment view cache
}
我已经解决了这个问题。我刚刚搜索了缓存,如果返回 null,则最后一批货已被删除。
protected virtual void EDASNShipment_RowDeleted(PXCache sender, PXRowDeletedEventArgs e)
{
EDASNShipment row = ASNShipment.Current;
EDASNShipment asnShipments = this.ASNShipment.Search<EDASNShipment.aSNNbr>(row.ASNNbr);
// Remove ASN record if no more shipments
if (asnShipments == null)
{
EDASN asn = this.ASN.Current;
this.ASN.Delete(asn);
this.Persist();
}