我認爲打開一個新表格需要花費很多精力來完成這麼簡單的任務。當然,這取決於您的開發/設計風格,但我建議您在當前表格中添加一個新列,並在其中包含下拉列表ID。
解決方案1:
ID Text Dropdowns
1 This is some text -DD1-DD2-
2 Some more text -DD2-DD3-
3 Even more text -DD3-
4 This is just silly now -DD4-
您可以在代碼中的微小變化填充下拉菜單。我使用分隔符的原因是爲了處理DD1
成功的文字DD10
。
您將不得不使用-DropdownID-
(或選擇使用相同格式的任何分隔符)進行字符串包含搜索。編輯該列中的值,假設-
是分隔符:
- 分配
-
在數據庫端和列列將舉行-
如果他們是空的默認值。
- 添加新的下拉ID,首先查找包含您的ID的ID,然後將
DropdownID-
連接到列值。
- 刪除下拉ID,只需用空字符串替換
DropdownID-
即可:""
。
- 如前所述,使用
-DropdownID-
進行搜索。
如果每個實體只能一次顯示在一個下拉列表中,您只需將下拉列表的名稱寫入新列,然後查找平等而不是包含。
解決方案2:
我看到你想過每個下拉列表中打開新的數據庫表。這是一個非常糟糕的做法。你可以建立類似:
-- Texts-- -- Dropdowns -- -- DropdownTexts --
ID Text ID ViewID >..< ID TextID DropdownID
1 This is some text 1 DD1 1 1 1
2 Some more text 2 DD2 2 1 3
3 Even more text 3 DD3 3 2 3
4 This is just silly now 4 4 1
我打開表Dropdowns
的情況下,你需要用實現數據庫方面的幫助,您可以添加更多的列到Dropdowns
,使其更配置。如果不這樣做,則忽略Dropdowns
表並直接在View
到DropdownID
的DropdownTexts
表中寫入DropdownID
。
是否有任何特定的模式或它是隨機的? – Neel 2014-10-01 08:59:38
寫作中有什麼難點......在(1,2)'或'IN(2,3)'中的哪個ID?只需爲每個下拉菜單使用不同的數據源。如果它是LINQ:'.Where(x => new [] {1,2} .Contains(x.ID))'。是的,硬編碼是最好的方法。如果下拉列表實際上表示不同類型的實體,則應通過創建具有有意義名稱的其他表來重構數據模型。但是用這個匿名樣本數據建議一些東西是不可能的。 – 2014-10-01 08:59:49
基本上需求已經發生了變化,當前頁面上的每個文本框都會顯示錶格中的所有行。但是現在他們希望某些文本框包含特定的行。它可能會在某些時候改變顯示的文字。 – user3437721 2014-10-01 09:03:37