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

Grid链接至自定义对象Graph:OrderNbr无法生成可点击链接咨询

如何让自定义对象的OrderNbr字段在采购订单Grid中成为可跳转至指定Graph的链接

嗨,我来帮你搞定这个问题!在Acumatica里要让Grid中的字段变成可点击的跳转链接,主要有几种常用方式,根据你的场景选择最适合的就行:

方法1:直接在ASPX Grid列中配置跳转链接(快速简单)

如果你只是想在采购订单页面的这个特定Grid里实现链接,直接修改ASPX页面的Grid列定义就行。找到OrderNbr对应的列,加上NavigateUrlFormat属性,指定跳转的Graph页面地址:

<px:PXGridColumn DataField="OrderNbr" 
                  DisplayName="Order Nbr"
                  NavigateUrlFormat="~/Frame/Popup.aspx?GraphName=你的目标Graph完整命名空间.目标Graph类名&FieldName=OrderNbr&Value={0}" />

比如如果要跳转到标准采购订单页面,Graph是POOrderEntry,可以直接用页面地址更直观:

<px:PXGridColumn DataField="OrderNbr" 
                  DisplayName="Order Nbr"
                  NavigateUrlFormat="~/PO/POOrder.aspx?OrderNbr={0}" />

方法2:通过Graph扩展的RowSelected事件动态控制(灵活可控)

如果需要根据自定义属性或者其他条件来决定是否显示链接,或者动态调整跳转目标,就适合用Graph扩展的事件来处理。在采购订单页面的Graph扩展类里添加RowSelected事件:

public class POOrderEntry_Extension : PXGraphExtension<POOrderEntry>
{
    protected void ObjectA_RowSelected(PXCache cache, PXRowSelectedEventArgs e)
    {
        ObjectA row = e.Row as ObjectA;
        if (row == null) return;

        // 这里可以加入自定义属性的判断逻辑,比如只有当自定义属性满足条件时才显示链接
        if (row.YourCustomAttribute == true)
        {
            // 设置跳转链接,替换成你的目标Graph信息
            string url = string.Format("~/Frame/Popup.aspx?GraphName=你的目标Graph命名空间.目标Graph类名&FieldName=OrderNbr&Value={0}", row.OrderNbr);
            PXUIFieldAttribute.SetUrl(cache, row, url);
            // 标记字段为可点击的链接样式
            PXUIFieldAttribute.SetLinkCommand(cache, row, true);
        }
        else
        {
            // 不满足条件时隐藏链接,显示纯文本
            PXUIFieldAttribute.SetUrl(cache, row, null);
            PXUIFieldAttribute.SetLinkCommand(cache, row, false);
        }
    }
}

方法3:在DAC中标记跳转属性(全局生效)

如果希望这个OrderNbr字段在所有用到它的Grid里都自动显示为跳转链接,可以直接在ObjectA这个DAC的字段上添加PXNavigateAttribute:

public class ObjectA : IBqlTable
{
    // 其他字段...

    [PXDBString(15, IsKey = true, IsUnicode = true, InputMask = ">CCCCCCCCCCCCCCC")]
    [PXUIField(DisplayName = "Order Nbr")]
    // 指定跳转的目标DAC查询,系统会自动生成跳转链接
    [PXNavigate(typeof(Select<目标DAC类, Where<目标DAC类.orderNbr, Equal<Current<ObjectA.orderNbr>>>>))]
    public virtual string OrderNbr { get; set; }

    // 你的自定义属性字段
    [PXDBBool]
    [PXUIField(DisplayName = "自定义属性")]
    public virtual bool? YourCustomAttribute { get; set; }
}

注意事项:

  • 替换代码中的你的目标Graph完整命名空间.目标Graph类名、目标DAC类为你实际的Graph和DAC信息
  • 如果跳转的是弹出窗口,用~/Frame/Popup.aspx格式;如果是直接打开页面,用对应模块的页面地址(比如采购订单的~/PO/POOrder.aspx)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 04:33:53