【发布时间】:2019-09-24 04:20:23
【问题描述】:
我已将 PXAction 添加到自定义 Graph 扩展类。这会在屏幕顶部放置一个“按钮”。我想在代码中动态更改按钮的颜色。我怎样才能做到这一点?有可能吗?
我使用的是版本 19.100.0122
TIA!
【问题讨论】:
标签: acumatica
我已将 PXAction 添加到自定义 Graph 扩展类。这会在屏幕顶部放置一个“按钮”。我想在代码中动态更改按钮的颜色。我怎样才能做到这一点?有可能吗?
我使用的是版本 19.100.0122
TIA!
【问题讨论】:
标签: acumatica
请注意,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();
}
}
【讨论】: