首页 > 解决方案 > 是否可以为 Action DropDown 设置默认值?

问题描述

我试图通过将[PXDefault]属性放置到附加在图形扩展上的缓存中来设置此操作下拉列表的默认值,但它不起作用。我搜索了原始字段属性以更好地了解该字段,我发现它是一个[PX.Data.Automation.PXWorkflowMassProcessing(DisplayName = "Action")],这就是该[PXDefault]属性不起作用的原因。

我正在尝试将默认设置为打印/电子邮件订单页面 (SO301000) 在此处输入图像描述

有人可以帮我弄这个吗。

标签: c#.netacumaticaacumatica-kb

解决方案


如果您需要默认为第一项,在 PXWorkflowMassProcessingAttribute 中,您可以设置 AddUndefinedState = false 这将删除 SELECT 并默认为第一个值

PXDefault 应该仍然有效,只是您需要将其设置为值而不是显示标签。例如,我测试了以下内容并且它有效。我不喜欢在 PXDefault 中硬编码该文本,但我不确定是否有更好的选择。

 public class SOOrderProcessExt : PXGraphExtension<SOOrderProcess>
    {
        [PXMergeAttributes(Method = MergeMethod.Append)]
        [PXDefault("SO301000$printSalesOrder")]
        public virtual string Action { get; set; }
        public abstract class action : BqlType<IBqlString, string>.Field<action> { }       
    }

推荐阅读