【发布时间】:2020-07-24 14:52:31
【问题描述】:
我在 BAccount 表中添加了一个名为 UsrSubStatus 的自定义字段,其中包含六个值的 PXStringList。如果 BAccount 状态字段为“Inactive”(值为 I),则 UsrSubStatus 下拉列表应仅允许选择列表值中的 3 个。如果状态字段不是非活动的,那么下拉列表应该只允许选择其他 3 个列表值。
我发现了一篇文章:Acumtica dynamic dropdown,看起来与我想要完成的内容非常相似,但它基于用户登录的当前公司的动态变化。
var company = PX.Data.Update.PXInstanceHelper.CurrentCompany;
我在以下代码中的问题是如何在我的 var 状态行中引用 BAccount 状态字段。
public class DynamicDropdownAttribute : PXStringListAttribute
{
#region Event Handlers
private string[] Values2 = { "A1", "A2", "A3" };
private string[] Labels2 = { "On-Plan", "Off-Plan", "Services Only" };
private string[] Values3 = { "I1", "I2", "I3" };
private string[] Labels3 = { "ROR - Same Product", "ROR - New Product", "Out of Business" };
public DynamicDropdownAttribute()
: base()
{
}
public override void CacheAttached(PXCache sender)
{
base.CacheAttached(sender);
var status = sender.CR.Status;
if (status != "I")
{
this._AllowedValues = Values2;
this._AllowedLabels = Labels2;
}
else
{
this._AllowedValues = Values3;
this._AllowedLabels = Labels3;
}
}
}
【问题讨论】:
标签: acumatica