嗨,我很难将我的自定义表继承到我的dac并在此处进行选择的是我的自定义表Branded.cs
[Serializable]
public class Branded : IBqlTable
{
#region BrandID
[PXDBInt(IsKey = true)]
[PXUIField(DisplayName = "Brand ID")]
public virtual int? BrandID { get; set; }
public abstract class brandID : PX.Data.BQL.BqlInt.Field<brandID> { }
#endregion
#region Brand
[PXDBString(InputMask = "")]
[PXUIField(DisplayName = "Brand")]
public virtual string Brand { get; set; }
public abstract class brand : PX.Data.BQL.BqlString.Field<brand> { }
#endregion
}
这是我要使用的自定义DAC
public class InventoryItemExt : PXCacheExtension<PX.Objects.IN.InventoryItem>
{
#region UsrCategory
[PXDBString(100)]
[PXUIField(DisplayName="Category")]
public virtual string UsrCategory { get; set; }
public abstract class usrCategory : PX.Data.BQL.BqlString.Field<usrCategory> { }
#endregion
#region UsrBrand
[PXDBString(100)]
[PXUIField(DisplayName="Brand")]
//red
[PXSelector(
typeof(Search<Branded.brand>),
typeof(Branded.brandID),
typeof(Branded.brand))]
public virtual string UsrBrand { get; set; }
public abstract class usrBrand : PX.Data.BQL.BqlString.Field<usrBrand> { }
#endregion
当我将它们连接在一起时,如何继承我在dac上的自定义表以创建选择器
函数“ MoveNext”中发生未处理的异常。请 有关更多详细信息,请参见跟踪日志。
谢谢您的帮助
答案 0 :(得分:0)
#region UsrBrand
[PXDBString(100)]
[PXUIField(DisplayName="Brand")]
//red
[PXSelector(
typeof(Search<Branded.brand>),new Type[]
{
typeof(Branded.brandID),
typeof(Branded.brand))]
}
public virtual string UsrBrand { get; set; }
public abstract class usrBrand : PX.Data.BQL.BqlString.Field<usrBrand> { }
#endregion
答案 1 :(得分:0)
我假设由于BrandID是要在表中存储密钥但要显示Brand值(使用ID / CD配置)的密钥。如果是这样,那么您将希望InventoryItemExt中的UsrBrand为Int并使用如下选择器:
[PXDBInt]
[PXUIField(DisplayName = "Brand")]
[PXSelector(
typeof(Search<Branded.brandID>),
SubstituteKey = typeof(Branded.brand))]
public virtual int? UsrBrand { get; set; }
public abstract class usrBrand : PX.Data.BQL.BqlInt.Field<usrBrand> { }
如果将主DAC的ui字段属性的可见性设置为SelectorVisible,则也无需跳过选择器中的列。标记为SelectorVisible的所有列将按照在dac中出现的顺序在选择器中显示。另外,不要忘记包括字符串大小。
[PXDBString(100, InputMask = "")]
[PXUIField(DisplayName = "Brand", Visibility = PXUIVisibility.SelectorVisible)]
public virtual string Brand { get; set; }
如果不是这种情况,那么您应该具有跟踪详细信息,如发布的错误所指示。在此处查看更多详细信息,然后发布完整错误。可能与您的DAC配置无关。
答案 2 :(得分:0)
我明白了,谢谢。我意识到我有一个代码和一个dac,并且正在制作两个表os,所以我必须删除其中的一个,并且效果很好,谢谢大家