[英]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.