在网格中添加选择器字段
Add Selector Fields In Grid
我正在尝试将选择器字段添加到网格中。这些选择器不绑定到网格上的任何数据,因为它仅用于数据输入,因此没有过滤。我想在运输条款网格中添加项目 Class 和价格 Class。
这是我的代码:
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
}
}
但是我收到了这些错误:
Building directory '\WebSiteValidationDomain\App_RuntimeCode\'.
\App_RuntimeCode\ShipTermsDetail.cs(20): error CS0118: 'PX.Objects.AR.ARPriceClass.PriceClassID' is a 'property' but is used like a 'type'
\App_RuntimeCode\ShipTermsDetail.cs(21): error CS0118: 'PX.Objects.AR.ARPriceClass.Description' is a 'property' but is used like a 'type'
\App_RuntimeCode\ShipTermsDetail.cs(22): error CS0118: 'PX.Objects.AR.ARPriceClass.Description' is a 'property' but is used like a 'type'
\App_RuntimeCode\ShipTermsDetail.cs(33): error CS0118: 'PX.Objects.IN.INItemClass.ItemClassID' is a 'property' but is used like a 'type'
\App_RuntimeCode\ShipTermsDetail.cs(34): error CS0118: 'PX.Objects.IN.INItemClass.ItemClassCD' is a 'property' but is used like a 'type'
\App_RuntimeCode\ShipTermsDetail.cs(35): error CS0118: 'PX.Objects.IN.INItemClass.ItemClassCD' is a 'property' but is used like a 'type'
\App_RuntimeCode\ShipTermsDetail.cs(20): error CS0118: 'PX.Objects.AR.ARPriceClass.PriceClassID' is a 'property' but is used like a 'type'
由于这两个字段不受前几列中所选内容的限制,我认为不需要 .this 或 base 但我可能错了?
记得注意 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
}
}
我正在尝试将选择器字段添加到网格中。这些选择器不绑定到网格上的任何数据,因为它仅用于数据输入,因此没有过滤。我想在运输条款网格中添加项目 Class 和价格 Class。
这是我的代码:
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
}
}
但是我收到了这些错误:
Building directory '\WebSiteValidationDomain\App_RuntimeCode\'.
\App_RuntimeCode\ShipTermsDetail.cs(20): error CS0118: 'PX.Objects.AR.ARPriceClass.PriceClassID' is a 'property' but is used like a 'type'
\App_RuntimeCode\ShipTermsDetail.cs(21): error CS0118: 'PX.Objects.AR.ARPriceClass.Description' is a 'property' but is used like a 'type'
\App_RuntimeCode\ShipTermsDetail.cs(22): error CS0118: 'PX.Objects.AR.ARPriceClass.Description' is a 'property' but is used like a 'type'
\App_RuntimeCode\ShipTermsDetail.cs(33): error CS0118: 'PX.Objects.IN.INItemClass.ItemClassID' is a 'property' but is used like a 'type'
\App_RuntimeCode\ShipTermsDetail.cs(34): error CS0118: 'PX.Objects.IN.INItemClass.ItemClassCD' is a 'property' but is used like a 'type'
\App_RuntimeCode\ShipTermsDetail.cs(35): error CS0118: 'PX.Objects.IN.INItemClass.ItemClassCD' is a 'property' but is used like a 'type'
\App_RuntimeCode\ShipTermsDetail.cs(20): error CS0118: 'PX.Objects.AR.ARPriceClass.PriceClassID' is a 'property' but is used like a 'type'
由于这两个字段不受前几列中所选内容的限制,我认为不需要 .this 或 base 但我可能错了?
记得注意 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
}
}