Воспроизвести действие кнопки на вкладке

В форме LineDetails у нас есть вкладка [Области]. Под этой вкладкой находится кнопка [Области чтения]. Эта кнопка избыточна и в ней нет необходимости, так как то действие, которое происходит при нажатии на нее, должно быть выполнено при открытой вкладке [Области]. введите здесь описание изображения

[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);
}

}

Как это адаптировать, когда нажимается «Области», чтобы отображалась информация, например, когда нажимается «Области чтения»?

И после этого я уберу кнопку «Читать области».


person DarthCSharper    schedule 19.04.2019    source источник


Ответы (1)


Просто сделайте кнопку Read Areas Visible = No, чтобы скрыть ее.

Затем на вкладке Areas переопределите метод pageActivated() и выполните ReadAreas.clicked(). Таким образом, основной код остается нетронутым.

Вы должны учитывать, что если пользователь переключается с/на страницу Areas, каждый раз, когда он нажимает кнопку Read Areas... не уверен, проблема это или нет.

Используйте обработчики событий и т.п., где это уместно. Это просто не приходит мне в голову, общий подход.

person Alex Kwitny    schedule 19.04.2019
comment
Спасибо. Это очень помогло. - person DarthCSharper; 22.04.2019