HTML-клиент LightSwitch: как установить значение вычисляемого свойства на основе другого вычисляемого свойства

Прежде чем задать свой вопрос, я приведу простой пример, чтобы прояснить свой вопрос.

В моем HTML-клиенте LightSwitch у меня есть таблица с одним столбцом: "сумма"

Я сделал вычисляемое свойство "amountPlusTax" и установил его значение следующим образом:

myapp.BrowseTransactions.amountPlusTax_postRender = function (element, contentItem) {
        contentItem.dataBind("data.amount", function () {
            $(element).text(parseFloat(contentItem.data.amount) * 1.05);
        });
 };

Как видите, сумма PlusTax = сумма * 1,05

Проблема, которую я имею, я хочу сделать другое вычисляемое свойство, значение которого зависит от значения вычисляемого свойства "amountPlusTax". Например, amountPlusTaxPlusInterest = amountPlusTax * 1,03

Как это возможно?

Это не работает:

myapp.BrowseTransactions.amountPlusTaxPlusInterest_postRender = function (element, contentItem) {
    $(element).text(parseFloat(contentItem.screen.amountPlusTax) * 1.03);
};

1 ответ

Хотя это не дает прямого ответа на ваш вопрос, вы можете альтернативно перехватить события Вставка / Вставка / Обновление / Обновление в DataService и обновить одно или оба поля вместо использования вычисляемых свойств.

Например:

partial void SomeTable_Updating(SomeTable entity)
    {
        if (entity.SomeField.IsNullOrWhiteSpace())
            entity.SomeField = Utils.ConvertToValidName(entity.Name);
    }
Другие вопросы по тегам