如果“原因”字段的值为“其他”,我想隐藏“其他原因”字段
pageextension 50101 CJ_PurchaseReturnOrder 扩展“采购退货单” { 布局 { 添加最后一个(通用) { 字段(“TO 代码”;Rec.“TO 代码”) { 应用区域=全部; TableRelation = "传输头"; } field("项目日记帐代码"; Rec."项目日记帐代码") { 应用区域=全部; TableRelation = "项目日记行"; } 字段(“原因”;Rec.Reason) { 应用区域=全部; } field("其他原因"; Rec."其他原因") { 应用区域=全部; } } } }
我试过这个:
pageextension 50101 CJ_PurchaseReturnOrder 扩展“采购退货单” { 布局 { 添加最后一个(通用) { 字段(“TO 代码”;Rec.“TO 代码”) { 应用区域=全部; TableRelation = "传输头"; } field("项目日记帐代码"; Rec."项目日记帐代码") { 应用区域=全部; TableRelation = "项目日记行"; } 字段(“原因”;Rec.Reason) { 应用区域=全部; } field("其他原因"; Rec."其他原因") { 应用区域=全部; 启用 = 启用代码; } } } 变量 EnableToCode:布尔值;
trigger OnAfterGetRecord()
begin
if Rec.Reason = Rec.Reason::Other then
EnableToCode := true
else
EnableToCode := false;
end;
}
您几乎已经有了解决方案,因为您只需要使用正确的属性:Visible(https://learn.microsoft.com/en-us/dynamics365/business-central/dev-itpro/developer/properties/ devenv-可见属性)
pageextension 50101 CJ_PurchaseReturnOrder extends "Purchase Return Order"
{
layout
{
addlast(General)
{
field("TO Code"; Rec."TO Code")
{
ApplicationArea = all;
TableRelation = "Transfer Header";
}
field("Item Journal Code"; Rec."Item Journal Code")
{
ApplicationArea = all;
TableRelation = "Item Journal Line";
}
field("Reason"; Rec.Reason)
{
ApplicationArea = all;
}
field("Other Reason"; Rec."Other Reason")
{
ApplicationArea = all;
Visible = OtherReasonIsVisible;
}
}
}
var
OtherReasonIsVisible: Boolean;
trigger OnAfterGetRecord()
begin
if Rec.Reason = Rec.Reason::Other then
OtherReasonIsVisible := true
else
OtherReasonIsVisible := false;
end;
}
还有一个经常被遗忘的额外信息,所以我想在这里提一下:如果你试图动态设置页面字段的可见性,你需要将字段移动到组中并使用组的visible属性动态显示/隐藏页面字段(请参阅:控件的动态可见性)