2012-05-02 63 views
0

我跟着本教程由微軟的記錄,它使用時的工作充滿了想象,直到我升級到Beta 2中創建一個屏幕,既可以編輯和添加在LightSwitch應用程序

http://msdn.microsoft.com/en-us/lightswitch/Video/ff945359

的事情,這是一個所謂的「數據項目」,它沒有填充數據,它會創建一個例外。

所以問題是:有誰使用新的屏幕也使用它進行編輯,並有這個問題,你是如何解決這個問題的?

可能的情景的:

  • 開始一個新的測試版2項目,並創建單獨的新的編輯屏幕(意味着雙重的工作)
  • 某種方式找到一個固定的綁定(在新的模式中未使用)數據項與現有的記錄(將是一個醜陋的修復)
  • 找到另一種方式來創建一個新的/編輯屏幕。
  • 選項4?

回答

0

我使用下面的邏輯來打開相同的屏幕爲編輯或添加記錄:

partial void CreateNewOrEditJob_InitializeDataWorkspace(List<IDataService> saveChangesTo) 
     { 
      Job selectedJob; 

      if (SelectedJobId.HasValue) 
      { 
       int selectedId = (int)SelectedJobId; 
       selectedJob = DataWorkspace.ApplicationData.Jobs.Where(j => j.Id.Equals(selectedId)).FirstOrDefault(); 
      } 
      else 
      { 
       selectedJob = new Job(); 
      } 
      this.JobProperty = selectedJob; 
    } 

上面的例子被用於被用於或者修改現有的「作業」的畫面實體,或創建一個新的。 「SelectedJobId」是屏幕的本地屬性,Is參數設置爲true,Is Required設置爲false。


現金去保羅·帕特森櫟解決方案公司(MVP)

1

我在B2使用Beth的原代碼,修改後的版本(第一,然後RTM,&我敢肯定它工作在V2 Beta),因爲有時會出現一個bug(但我不記得在什麼條件下,因爲我已經使用我的代碼很長一段時間了)。 Beth提供的第一個代碼使用了「編輯數據」屏幕(但也許這是B1?),然後她發佈了使用「添加新數據」屏幕的更新版本(您指出的視頻是B2)。

如果你還沒有設法使它工作,我可以指出你使用的代碼。

+0

嗨Yann,感謝您的回覆。然而,我確實找到了解決我的問題的辦法(請參閱我的答案)。 –

+0

噢,好的,我認爲那是不工作的代碼。很高興你把它整理出來。 –

相關問題