2011-09-11 55 views
0

我有一個要求將字段預先設置爲最後輸入的值。我將Save()上的值保存爲靜態,然後我想在下次創建新條目表單時將該字段設置爲該值。在LightSwitch中設置默認值

我不能得到最後一步......我得到實體錯誤,說實體已經連接。

如何設置字段的值?

回答

1

您應該在數據表的Created事件中設置默認值。捕獲Changed事件中的最後一個值 - 這將捕獲當前用戶對該字段所做的每個更改。下面是使用所謂的「小部件」設置默認價格由用戶輸入的最後價格的實體的例子:

public partial class Widget 
{ 
    private static decimal LastWidgetPrice; 

    partial void Widget_Created() 
    { 
     Price = LastWidgetPrice; 
    } 

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

請注意,您無法捕捉在插入或更新事件的價值,因爲這些事件發生在服務器上,並且創建的事件發生在客戶端上。由於Changed事件發生在客戶端代碼中,我們可以使用該事件來捕獲最後輸入的值。

可以使用實體設計器(即表設計器)上的WriteCode下拉菜單創建Created和Changed事件。

+0

是的,但如何?我嘗試使用this.DataWorkspace.Application.XYZ = LastValue;我得到例外。 – ILovePaperTowels

+0

對不起!我昨晚很匆忙,沒有回顧我的答案。我已更正解決方案幷包含一些示例代碼。請讓我知道如果這仍然不適合你。 –

+0

謝謝保羅,但我想在屏幕上做到這一點,而不是小部件。我在小部件上嘗試過,但屏幕只顯示灰色(禁用)的所有內容。 – ILovePaperTowels