如何解决自动编号的选择器将不允许选择现有记录
#region BatchID
[PXDBIdentity()]
public virtual int? BatchID { get; set; }
public abstract class batchID : PX.Data.BQL.BqlInt.Field<batchID> { }
#endregion
#region BatchCD
[PXDBString(15,IsKey = true,IsUnicode = true,InputMask = ">CCCCCCCCCCCCCCC")]
[PXUIField(displayName = "Batch ID")]
[AutoNumber(typeof(MXSetup.batchNumberingID),typeof(AccessInfo.businessDate))]
[PXSelector(typeof(MXBatch.batchID),SubstituteKey = typeof(MXBatch.batchCD))]
public virtual string BatchCD { get; set; }
public abstract class batchCD : PX.Data.BQL.BqlString.Field<batchCD> { }
#endregion
自动编号的效果很好,但是选择现有记录后,显示的值会立即变回<NEW>
。
有人知道为什么会这样吗?
解决方法
发布答案,以便阅读示例代码。
当我学会做这些时,代码库中的代码示例始终使用PXSelector,尽管我不能说如果PXDimensionSelector更适合您,则使用PXDimensionSelector是错误的。但是,如果足够,您应该只使用普通的旧PXSelector。
它可能没有任何关系,但是您的自动编号是否适合您的InputMask?我将输入掩码保留为“”,因为它是由自动编号控制的。我还设置了PXDefault强制将其强制为必需,尽管这可能会过大。最后,我还给PXSelector多了一些,以定义如果有人击中放大镜该显示什么。就我而言,PXSelector简单而足够。
这是我简单的自动编号字段之一...
#region RequisitionCD
[PXDBString(15,IsKey = true,IsUnicode = true,InputMask = "")]
[PXDefault]
[AutoNumber(typeof(SSRQSetup.requisitionNumberingID),typeof(AccessInfo.businessDate))]
[PXSelector(
typeof(SSRQRequisition.requisitionCD),typeof(SSRQRequisition.requisitionCD),typeof(SSRQRequisition.descr),typeof(SSRQRequisition.createdDateTime)
)]
[PXUIField(DisplayName = Messages.FldRequisitionCD)]
public virtual string RequisitionCD { get; set; }
public abstract class requisitionCD : PX.Data.BQL.BqlString.Field<requisitionCD> { }
#endregion
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。