Grid 在网格中添加选择器字段

Grid 在网格中添加选择器字段,grid,customization,acumatica,Grid,Customization,Acumatica,我正在尝试将选择器字段添加到网格中。这些选择器不绑定到网格上的任何数据,因为它只是用于数据输入,所以没有过滤。我想在Shipping Terms网格中添加Item类和Price类 这是我的代码: using PX.Data; using PX.Objects.CM; using PX.Objects.CS; using PX.Objects.IN; using PX.Objects.AR; using PX.Objects; using System.Collections.Generic; u

我正在尝试将选择器字段添加到网格中。这些选择器不绑定到网格上的任何数据,因为它只是用于数据输入,所以没有过滤。我想在Shipping Terms网格中添加Item类和Price类

这是我的代码:

using PX.Data;
using PX.Objects.CM;
using PX.Objects.CS;
using PX.Objects.IN;
using PX.Objects.AR;
using PX.Objects;
using System.Collections.Generic;
using System;

namespace PX.Objects.CS
{
  public class ShipTermsDetailExt : PXCacheExtension<PX.Objects.CS.ShipTermsDetail>
  {
    #region priceCode
  public abstract class priceCode : PX.Data.IBqlField
    {
    }
    [PXString]
    [PXUIField(DisplayName="Price Code")]
    [PXSelector(typeof(Search<ARPriceClass.PriceClassID>),
    typeof(ARPriceClass.Description),
    SubstituteKey = typeof(ARPriceClass.Description),
    ValidateValue = false)]
    public virtual string UsrPriceCode { get; set; }
    #endregion

    #region itemClass
      public abstract class itemClass : PX.Data.IBqlField
    {
    }
    [PXString]
    [PXUIField(DisplayName="Item Class")]
    [PXSelector(typeof(Search<INItemClass.ItemClassID>),
    typeof(INItemClass.ItemClassCD),
    SubstituteKey = typeof(INItemClass.ItemClassCD),
    ValidateValue = false)]
    public virtual string UsrItemClass { get; set; }
    #endregion
  }
}

由于这两个字段不受前两列中所选内容的约束,因此我认为不需要。这个或基数,但我可能错了?

请记住观察Acumatica自定义中的命名约定。我只需要将第一个字母的字段改为小写

以下是固定代码:

using PX.Data;
using PX.Objects.CM;
using PX.Objects.CS;
using PX.Objects.IN;
using PX.Objects.AR;
using PX.Objects;
using System.Collections.Generic;
using System;

namespace PX.Objects.CS
{
  public class ShipTermsDetailExt : PXCacheExtension<PX.Objects.CS.ShipTermsDetail>
  {
    #region priceCode
  public abstract class priceCode : PX.Data.IBqlField
    {
    }
    [PXString]
    [PXUIField(DisplayName="Price Code")]
    [PXSelector(typeof(Search<ARPriceClass.priceClassID>),
    typeof(ARPriceClass.description),
    SubstituteKey = typeof(ARPriceClass.description),
    ValidateValue = false)]
    public virtual string UsrPriceCode { get; set; }
    #endregion

    #region itemClass
      public abstract class itemClass : PX.Data.IBqlField
    {
    }
    [PXString]
    [PXUIField(DisplayName="Item Class")]
    [PXSelector(typeof(Search<INItemClass.itemClassID>),
    typeof(INItemClass.itemClassCD),
    SubstituteKey = typeof(INItemClass.itemClassCD),
    ValidateValue = false)]
    public virtual string UsrItemClass { get; set; }
    #endregion
  }
}
使用PX.Data;
使用PX.Objects.CM;
使用PX.Objects.CS;
使用PX.Objects.IN;
使用PX.Objects.AR;
使用PX.Objects;
使用System.Collections.Generic;
使用制度;
命名空间PX.Objects.CS
{
公共类ShipTermsDetailExt:PXCacheExtension
{
#地区价格代码
公共抽象类priceCode:PX.Data.IBqlField
{
}
[字符串]
[PXUIField(DisplayName=“价格代码”)]
[PX选择器(类型)(搜索),
类型(ARPriceClass.说明),
SubstituteKey=typeof(ARPriceClass.description),
ValidateValue=false)]
公共虚拟字符串UsrPriceCode{get;set;}
#端区
#区域项目类
公共抽象类itemClass:PX.Data.IBqlField
{
}
[字符串]
[PXUIField(DisplayName=“Item Class”)]
[PX选择器(类型)(搜索),
类型(INItemClass.itemClassCD),
SubstituteKey=typeof(INItemClass.itemClassCD),
ValidateValue=false)]
公共虚拟字符串UsrItemClass{get;set;}
#端区
}
}

您遇到的错误与下面链接的错误类似。在这种情况下,您需要使用小写字母作为字段名,因为您引用的是字段类型(列),而不是字段值。裁判:明白了,谢谢!
using PX.Data;
using PX.Objects.CM;
using PX.Objects.CS;
using PX.Objects.IN;
using PX.Objects.AR;
using PX.Objects;
using System.Collections.Generic;
using System;

namespace PX.Objects.CS
{
  public class ShipTermsDetailExt : PXCacheExtension<PX.Objects.CS.ShipTermsDetail>
  {
    #region priceCode
  public abstract class priceCode : PX.Data.IBqlField
    {
    }
    [PXString]
    [PXUIField(DisplayName="Price Code")]
    [PXSelector(typeof(Search<ARPriceClass.priceClassID>),
    typeof(ARPriceClass.description),
    SubstituteKey = typeof(ARPriceClass.description),
    ValidateValue = false)]
    public virtual string UsrPriceCode { get; set; }
    #endregion

    #region itemClass
      public abstract class itemClass : PX.Data.IBqlField
    {
    }
    [PXString]
    [PXUIField(DisplayName="Item Class")]
    [PXSelector(typeof(Search<INItemClass.itemClassID>),
    typeof(INItemClass.itemClassCD),
    SubstituteKey = typeof(INItemClass.itemClassCD),
    ValidateValue = false)]
    public virtual string UsrItemClass { get; set; }
    #endregion
  }
}