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