【问题标题】:Dynamically Change Button Color动态更改按钮颜色
【发布时间】:2019-09-24 04:20:23
【问题描述】:

我已将 PXAction 添加到自定义 Graph 扩展类。这会在屏幕顶部放置一个“按钮”。我想在代码中动态更改按钮的颜色。我怎样才能做到这一点?有可能吗?

我使用的是版本 19.100.0122

TIA!

【问题讨论】:

    标签: acumatica


    【解决方案1】:

    请注意,Acumatica ISV 认证计划不允许此类更改。

    您可以使用 JavaScript 更改 CSS 样式。在自定义项目编辑器允许的任何位置添加 JavaScript 元素:

    填写脚本属性,将其设置为启动脚本,并将以下 JavaScript 放入脚本属性中(您需要将“Test”更改为 Action 的显示名称):

    function setActionButtonColor(){  
       var x = document.getElementsByClassName("toolsBtn");
       var i;
    
       for (i = 0; i < x.length; i++) {
         // Replace "Test" by the display name of your action button
         if (x[i].getAttribute("data-cmd") === "Test")
            x[i].style.backgroundColor = "red";
       } 
    } 
    

    在 DataSource ClientEvents->CommandPerformed 属性中,您输入要调用的 JavaScript 方法的名称 (setActionButtonColor):

    当打开页面时,JavaScript 方法被执行并改变 Action 按钮的背景颜色:

    我用这个图形扩展进行了测试:

    public class SOOrderEntry_Extension : PXGraphExtension<SOOrderEntry>
    {
     public PXAction<SOOrder> test;
    
     [PXUIField(DisplayName = "Test")]
     public virtual IEnumerable Test(PXAdapter adapter)
     {
       return adapter.Get();
     }
    }
    

    【讨论】:

    • 谢谢!我会试一试,然后告诉你结果如何。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-12-26
    • 1970-01-01
    • 1970-01-01
    • 2012-07-17
    • 1970-01-01
    • 1970-01-01
    • 2020-08-03
    相关资源
    最近更新 更多