2014-07-16 43 views
0

我正在使用C#編寫VS2013中的LightSwitch HTML應用程序。我有一個主屏幕,允許用戶選擇他們有權使用的網站。它將此網站ID傳遞到搜索屏幕,並且我想用一堆搜索選項填充搜索屏幕以針對資產進行搜索。Lightswitch查詢/子查詢/下拉選擇列表

在數據庫中,我使用SQL Server 3個表:

Site (Id, ShortName, LongName, Description) 
Unit (Id, Code, Description) 
SiteUnit (Id, SiteId, UnitId) 

的有效組合。

因爲我傳遞SiteId,我要提供用戶(除其他事項外)的下降有效單位的下降,他們可以從(從單元Code場)

我試圖以多種方式來完成這個搜索,但到目前爲止,它是無用的。

我在SiteUnit表的頁面上添加了數據項(查詢),參數爲SiteId,並返回相應的記錄。

現在我想用它來篩選Unit表來顯示適當的選擇。

所有適當的外鍵都添加了,但我無法弄清楚。

回答

0

我只對LightSwitch有一個基本的瞭解。您不能像SQL中那樣直接使用SQL代碼或執行多個表連接。但是,如果您有權訪問數據庫,則可以創建一個視圖,然後將該視圖當作表來查詢。以下將創建一個視圖,列出每個站點的每個單元。使用SiteID上的過濾器調用視圖將爲該網站提供單位。

Create View v_UnitsBySiteID as 
    SELECT Id, Code, Description 
    FROM Unit u 
    INNER JOIN SiteUnit su 
    ON u.ID = su.UnitID 

更改根據需要返回的內容。這有幫助嗎?

0

您需要使用參數爲您的Unit表添加另一個過濾器查詢,就像您爲SiteUnit表所做的一樣。然後您需要將您的新參數設置爲適當的UnitId。這可以通過多種方式完成。

最簡單的方法是將參數綁定直接設置爲SiteUnitQuery.SelectedItem.UnitId。但是如果在執行UnitQuery時需要執行其他處理,則可以在SiteUnitQuery_SelectionChanged()方法中手動設置新參數,或者通過某種類型的按鈕手動設置新參數。