簡體   English   中英

DropDownList選擇和表結構

[英]DropDownList Selection and table structure

這是一個難以解釋和復雜的問題。 但是我會盡力描述它。

我有三個表(材料,測試,材料測試)

在材料表中,就像

MaterialID    MaterialName
     A         Plastic
     B         Wood

在測試表中,就像

TestID    TestClass   Temp
   1         high     40
   2         low      30
   3         Medium   35

在我的Material_test表中,

MaterialID   TestID  Min   Max 
    A          1     1.0    1.2
    A          2     1.2    2.2
    B          1     2.0    3.0

上一張表記錄了不同材料在不同測試下的最小和最大測試結果。

我在頁面頂部創建了一個Dropdownlist ddl_material,用於綁定“材料”表中的所有材料。 我創建另一個Dropdownlist ddl_test,它將ddl_material和文本框下的“ Test”表中的所有測試綁定在一起,以顯示相關的測試“ Temp”,“ Min”和“ Max”結果。 我要實現的是從ddl_material中選擇一種材料后,ddl_test將顯示所有可用的測試(請注意,我希望所有測試不只是在Material_test中進行測試,而不是像級聯一樣,例如對於材料A,在那里在Material_Test表中僅是測試1和2,但我希望ddl_test仍然具有包括測試3在內的所有測試。 然后,當我從ddl_test中選擇時,如果存在與我選擇的特定測試相關的材料的最小值和最大值,則這些文本框將同時顯示“ Test”表中的“ Temp”和“ Material_Test”中的“ Min”和“ Max” ”表。 如果選擇的測試沒有應用於材料,這意味着“材料測試”表中沒有記錄,則僅顯示測試“ Temp”的Texbox,而不會顯示“ Min”和“ Max”。

我試圖對存儲過程使用左連接,但是下拉列表仍然無法按照我的描述進行。

任何幫助將不勝感激! 如有任何疑問,我將非常高興。 謝謝!!

SELECT 
   T.Temp
   M.Min
   M.Max      
   FROM 
   Test as T
   Left Join
   Material_Test as M
   On M.TestID = T.TestID
   Where M.TestID = @ID and M.MaterialID = @Material

看起來您只需要將測試下拉列表直接綁定到Test表中的記錄即可。 無需獲取選定的材料。 在獲取測試結果的查詢中,如果沒有特定測試的結果,則可以隱藏這些值。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM