重现标签页上的按钮动作
Reproduce button action on tab page
在 LineDetails 表单上,我们有标签页 [Areas]。在该标签页下是按钮 [Read Areas] 。该按钮是多余的,不需要它,因为单击它时发生的操作应该在打开标签页 [Areas] 时完成。
[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);
}
}
如何调整这个,当点击区域时显示信息,就像点击阅读区域时一样?
然后,我将删除阅读区域按钮。
只需将 Read Areas
按钮设为 Visible = No
即可将其隐藏。
然后在 Areas
标签页上,覆盖 pageActivated()
方法并执行 ReadAreas.clicked()
。这样核心代码就可以保持完整。
您应该考虑的是,如果用户在 Areas
页面上按 off/on 选项卡,每次都会单击 Read Areas
按钮...不确定这是问题还是不是。
在适当的地方使用事件处理程序等。这只是我头脑中的一般方法。
在 LineDetails 表单上,我们有标签页 [Areas]。在该标签页下是按钮 [Read Areas] 。该按钮是多余的,不需要它,因为单击它时发生的操作应该在打开标签页 [Areas] 时完成。
[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);
}
}
如何调整这个,当点击区域时显示信息,就像点击阅读区域时一样?
然后,我将删除阅读区域按钮。
只需将 Read Areas
按钮设为 Visible = No
即可将其隐藏。
然后在 Areas
标签页上,覆盖 pageActivated()
方法并执行 ReadAreas.clicked()
。这样核心代码就可以保持完整。
您应该考虑的是,如果用户在 Areas
页面上按 off/on 选项卡,每次都会单击 Read Areas
按钮...不确定这是问题还是不是。
在适当的地方使用事件处理程序等。这只是我头脑中的一般方法。