You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何仅在特定界面中触发FieldSelecting事件?

解决方案

要限定IPXFieldSelectingSubscriber的逻辑仅在特定界面触发,核心是通过当前上下文的图形实例类型判断实现:

  • 在Selecting方法中,通过PXCache.Graph获取当前绑定的图形对象
  • 校验图形类型是否为目标界面,非目标场景直接跳过逻辑执行

示例代码如下:

public void Selecting(PXCache cache, PXFieldSelectingEventArgs e)
{
    // 仅在SOOrderEntry界面执行逻辑,可替换为你的目标界面类型
    if (!(cache.Graph is SOOrderEntry))
    {
        return;
    }

    // 此处编写你的查询与计算逻辑
}

扩展场景处理

  • 若需支持多个特定界面,可通过逻辑或扩展判断:
    if (!(cache.Graph is SOOrderEntry || cache.Graph is ARInvoiceEntry))
    {
        return;
    }
    
  • 要排除通用查询(GI)场景,可直接判断是否为PXGenericInqGrph类型:
    if (cache.Graph is PXGenericInqGrph)
    {
        return;
    }
    

内容的提问来源于stack exchange,提问作者Rick

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 22:15:52