在标签页上重现按钮操作

问题描述 投票:0回答:1

在LineDetails表单中,我们有标签页[区域]。在该标签页下面是按钮[读取区域]。该按钮是多余的,并且不需要它,因为当打开标签页[区域]时应该完成点击它时发生的动作。 enter image description here

[Control("Button")]
class ReadCommonAreas
{
void clicked()
{
ContractArea contractArea;
AmountMST sumContractArea;

super();

ContractLine_ds.readCommonAreas(ContractLine);
h1_h2.realValue(ContractLine_ds.h1_h2(ContractLine));
efa.realValue(ContractLine_ds.efa(ContractLine));
bfa.realValue(ContractLine_ds.bfa(ContractLine));
mfa.realValue(ContractLine_ds.mfa(ContractLine));
sumArea.realValue(h1_h2.realValue() + efa.realValue() + bfa.realValue() + mfa.realValue());

while select AreaSelector, sum(RentalValue)
from contractArea
group by AreaSelector
where contractArea.ContractId == Contract.ContractId
&& contractArea.RentalObjectId == ContractLine.RentalObjectId
{
sumContractArea += contractArea.RentalValue;
switch (contractArea.AreaSelector)
{
case AreaSelector::CommonAreaBuilding :
contractAreaBFA.realValue(contractArea.RentalValue);
break;
case AreaSelector::CommonAreaSection :
contractAreaEFA.realValue(contractArea.RentalValue);
break;
case AreaSelector::PrimaryArea, AreaSelector::SecondaryArea :
contractAreaH1_H2.realValue(contractArea.RentalValue);
break;
case AreaSelector::CommonAreaFixed :
contractAreaMFA.realValue(contractArea.RentalValue);
break;
}
}
contractAreaSum.realValue(sumContractArea);
}

}

如何适应这一点,何时单击区域以显示信息,例如何时单击读取区域?

之后,我将删除“读取区域”按钮。

axapta x++ dynamics-365 dynamics-finance-and-operations
1个回答
3
投票

只需使用Read Areas按钮Visible = No来隐藏它。

然后在Areas标签页上,覆盖pageActivated()方法并执行ReadAreas.clicked()。这样核心代码就可以保持原样。

您应该考虑的事情是,如果用户选中/在Areas页面上,每次点击Read Areas按钮...不确定这是否是一个问题。

适当时使用事件处理程序等。这只是我头脑的一般方法。

© www.soinside.com 2019 - 2024. All rights reserved.