acumatica - 将文本添加到网格的背面,在屏幕 AP302000 上
问题描述
我想知道您是否可以在网格后面输入文字
你能告诉我是否可以添加文本,谢谢大家?
解决方案
是的,你可以这么做。该功能称为StatusField
.
要使用它,您需要PXString
在与网格详细信息绑定的 DAC 中定义类型的 DAC 字段。此字段将保存网格页脚中显示的文本值,并且可以针对网格中选择的每条记录进行更改。
在 ASPX 页面中,您需要将StatusField
网格控件上的属性设置为您添加的 PXString DAC 字段的名称(例如:可用性):
<px:PXGrid ID="grid" runat="server" DataSourceID="ds" StatusField="Availability">
要填充 DAC 字段的值,您可以使用FieldSelecting
事件:
public virtual void SOLine_Availability_FieldSelecting(PXCache sender, PXFieldSelectingEventArgs e)
{
// Set text that appear in footer
e.ReturnValue = "Text to be displayed in grid footer.";
}
编辑:
要添加链接控件而不是文本块,您需要使用 JavaScript。请注意,Acumatica ISV 认证计划可能不允许这些类型的更改。
如果您需要知道如何将 JavaScript 添加到 Acumatica 网页,可以参考此答案: https ://stackoverflow.com/a/56008485/7376238
对于您的用例,您需要确定网格页脚的 HTML ID。您可以为此使用浏览器 HTML 检查元素功能:
我测试了此 JavaScript 以创建链接控件,您需要替换目标网格页脚之一的“ctl00_[...]”ID:
var gridFooter = document.getElementById("ctl00_phG_tab_t0_grid_ab").getElementsByTagName("nobr")[0];
var link = document.createElement('a');
var linkText = document.createTextNode("link description");
link.appendChild(linkText);
link.title = "link title";
link.href = "http://example.com";
gridFooter.parentNode.replaceChild(link, gridFooter);
推荐阅读
- node.js - 如何在 Docker 映像上增加 Node.js 应用程序的日志级别?
- hadoop - Kerberos 如何在同一节点中为同一服务和同一客户端处理多个 TGT 请求?
- java - 反序列化 BigDecimal 时出错
- sql - 我不知道为什么我的 for 循环没有返回任何东西
- wso2 - wso2 API管理配置企业代理
- rxjs - RxJS toArray() 等效
- python - 如何创建具有容差的while循环
- ffmpeg - 使用 ffmpeg 从 mpeg-ts 到 dash 时 A/V 不同步
- java - 从端点获取 indexOutOfBoundException
- android - Flutter APK 内置在手机中,但打不开?