0

嗨,我正在開發使用VS 2013通過值從一個屏幕到另一個屏幕過濾器參數

需要的一些想法LightSwitch HTML客戶端,

我有用於如一個瀏覽屏幕請參考下面,

BrowseEmployee

enter image description here

當我在對任何行點擊,就會導致另一個屏幕(不相同的實體查看屏幕)。在另一個屏幕下面我用了很多細節表明,

ViewResourceAllocation

enter image description here

,並在此畫面我是從SQL視圖實體拉動,這將有ID字段是常見的先前的屏幕(BrowseEmployee)

現在的問題是,

  1. 如果我點擊ID 1名員工在第一個屏幕中,我只需要僅顯示員工ID 1的詳細信息。

  2. 即使我試圖傳遞值作爲參數傳遞給第二屏幕過濾器,沒有什麼工作了。因此,如果我將該值作爲篩選參數傳遞給另一個屏幕,將會很方便。

任何人都可以請告訴我如何解決這個問題?

謝謝!

+0

視圖屏幕上,並在ResourceAllocation表在左側面板中顯示爲藍色生病的答覆,以確保公正? – Crezzer7 2015-03-19 11:11:05

回答

1

信息的首要重點之一,確保ViewScreen實際上與您的工程師屏幕相關聯,而不是屏幕,因爲有一個外鍵將它們鏈接在一起,那麼信息可以通過這種方式訪問​​。所以BrowseEngineers會去ViewEngineers

這是我要做的事時有表之間的關係,所以你的邊欄上,你應該看到「編輯查詢」旁邊ResourceAllocation。表。如果僱員桌子底下只是藍色點擊它,然後它會這個表添加到屏幕上,然後在點擊「編輯查詢」按鈕

在這裏有3個選項,我將應用它從上面的表格

  1. Filter - [Where] [Employee。僱員] [=] [passEmployeeID]
  2. 排序 //沒有必要在這個例子中
  3. Parmeters = [參數]類型[passEmployeeID] [整數]

現在,當您單擊「 返回查看資源分配「,在ResourceAllocation表中您剛剛創建的參數表現在存在。然後執行以下步驟

  1. 將這個在屏幕上,並設置其屬性爲「不可見
  2. 點擊「編輯postRender代碼」,並在鍵入下面的代碼:
myapp.ViewEpmloyees.passEmployeeID_postRender = function (element, contentItem) { 
     contentItem.screen.passEmployeeID= 
     contentItem.screen.Employees.EmployeeID; 
    }; 

我們剛剛創建了一個過濾器爲ResourceAllocation Table和set作爲參數,那麼現在我們需要這個值,所以我們在屏幕呈現之前將其分配爲您從Lightswitch傳遞給您的前一個屏幕中單擊的員工ID。

希望這會解決您遇到的問題。

注:請確保您還可以在屏幕上的僱員,如果你不希望用戶看到它,讓它「不可見

+0

感謝@ Crezzer7的想法,我會嘗試相同的ñ讓你ü... – user1799596 2015-03-20 06:34:37

+0

好吧,希望它可以幫助 – Crezzer7 2015-03-20 08:07:00

1

手動傳遞參數 ,重複下面的步驟,然後做了補充:(和左手窗口,它說passEmployeeID在生病

  1. 爲例,它現在應該出現兩次,點擊一個與旁邊的小方框然後在右下角顯示屬性窗口ñ這裏勾選「參數」框,並進行測試,取消勾選「要求
  2. 回到你BrowseEmployees屏幕,並點擊「項目點擊」上你的瓷磚列表/表格列表。您現在將看到在這裏顯示「passEmployeeID」。所以現在ViewEmployee屏幕正在請求EmployeeID,所以我們必須使ID成爲一個參數。
  3. 要創建參數,請單擊Employees表的編輯查詢並按照以下步驟進行操作,除了在返回之前,請勾選參數的「is Optional」選項(當您單擊參數時顯示此選項在右下角的屬性框中。
  4. 此參數最後拖動到屏幕上,當你在第一步中那樣,更改其屬性爲「參數」,並確保「要求」是假的......現在,如果你重複步驟2,然後單擊「passEmployeeID」旁邊的文本框,您在BrowseScreen上創建的新參數將成爲其中一個選項,單擊此項並單擊確定。

您現在已經成功地將一個參數從一個屏幕傳遞到另一個屏幕,在下面的例子中,它非常沒有意義,但是這是如何完成的。

如果您有任何疑問

發表評論時,我可以

相關問題