Установка значения по умолчанию в LightSwitch - PullRequest
0 голосов
/ 11 сентября 2011

У меня есть требование предварительно установить в поле последнее введенное значение. Я сохраняю значение на Save() в статическом виде, а затем я хотел бы установить поле на это значение при следующем создании новой формы ввода.

Я не могу получить последний шаг ... Я получаю ошибки сущности, говорящие, что сущность уже присоединена.

Как установить значение поля?

1 Ответ

1 голос
/ 11 сентября 2011

Вы должны установить значение по умолчанию в событии Created в таблице данных. Записать последнее значение в событии Changed - оно будет фиксировать каждое изменение, которое текущий пользователь вносит в поле. Вот пример, использующий объект с именем «Виджет», который устанавливает цену по умолчанию на последнюю цену, введенную пользователем:

public partial class Widget
{
    private static decimal LastWidgetPrice;

    partial void Widget_Created()
    {
        Price = LastWidgetPrice;
    }

    partial void Price_Changed()
    {
        LastWidgetPrice = Price;
    }
}

Обратите внимание, что вы не можете захватить значение в событиях Вставка или Обновление, потому что эти события происходят на сервере, а событие Created происходит на клиенте. Поскольку событие Changed происходит в клиентском коде, мы можем использовать это событие для захвата последнего введенного значения.

События Created и Changed могут быть созданы с помощью раскрывающегося списка WriteCode в конструкторе сущностей (то есть в конструкторе таблиц).

...