2010-04-19 12 views
7

आइटमों की प्रतिलिपि कैसे करें मैं एक ड्रॉपडाउन बॉक्स से हार्डकोड की गई वस्तुओं को कुंजी और मूल्यों को रखते हुए हार्डकोड कैसे कर सकता हूं?एक ड्रॉपडाउनलिस्ट से अन्य

drpTypes.Items.Add(new ListItem("Tipos de Acções", "1")); 
drpTypes.Items.Add(new ListItem("Tipos de Combustível", "2")); 
drpTypes.Items.Add(new ListItem("Tipos de Condutor", "3")); 

drpTypesCreateEdit.Items.AddRange(drpTypes.Items); 

उत्तर

28

AddRange ListItems की एक सरणी चाहता है। आप इसे इस तरह कर सकते हैं (सी # 3+)।

drpTypesCreateEdit.Items.AddRange(drpTypes.Items.OfType<ListItem>().ToArray()); 
+0

मैं आइटम में है कि विधि :( – LuRsT

+0

नेट की क्या संस्करण प्रयोग कर रहे नहीं है क्लोन करने के लिए मिल गया है? यदि 3.5+, System.Linq के लिए एक प्रयोग कथन जोड़ें। यदि 2.0, तो आप पहली सूची में आइटमों पर फिर से शुरू करने का विकल्प चुन सकते हैं और उन्हें एक-एक करके दूसरे में जोड़ सकते हैं। –

+0

यह काम करता है, बहुत दोस्ताना धन्यवाद: डी – LuRsT

3

यह आसान तरीकों में से एक हो सकता है ..

drpTypes.Items.Add(new ListItem("Tipos de Acções", "1")); 
drpTypes.Items.Add(new ListItem("Tipos de Combustível", "2")); 
drpTypes.Items.Add(new ListItem("Tipos de Condutor", "3")); 

foreach(ListItem li in drpTypes.Items) 
{ 
    drpTypesCreateEdit.Items.Add(li); 
} 

आप और अधिक व्यापक कुछ की जरूरत है?

+0

धन्यवाद, लेकिन मैं जो नहीं देख रहा था – LuRsT

8

एंथनी की टिप्पणी के साथ सहमत हैं।

हालांकि, चूंकि चयनित सूची इटम्स अभी भी मूल ड्रॉपडाउनलिस्ट की वही ऑब्जेक्ट्स का संदर्भ लेंगे, फ़ील्ड/गुणों को बदलते समय अनपेक्षित दुष्प्रभाव होंगे।

उदाहरण के लिए:

drpTypes.Items.Add(new ListItem("Tipos de Acções", "1")); 
drpTypes.Items.Add(new ListItem("Tipos de Combustível", "2")); 
drpTypes.Items.Add(new ListItem("Tipos de Condutor", "3")); 

drpTypesCreateEdit.Items.AddRange(drpTypes.Items); 

drpTypes.SelectedValue = "2"; 
drpTypesCreateEdit.SelectedValue = "3"; 

दोनों drpTypes और drpTypesCreateEdit अब जबकि कि स्पष्ट रूप से ऊपर कोड की मंशा नहीं है, "3" के SelectedValue है।

instantiating नई ListItem बजाय सिर्फ मूल ऑब्जेक्ट का चयन ठीक कर देंगे की वस्तुओं:

drpTypesCreateEdit.Items.AddRange(drpTypes.Items.Cast<ListItem>().Select(x => New ListItem(x.Text, x.SelectedValue)).ToArray(); 
2

मैं VB.NET में इस समझ नहीं सकता है और यह मुझे थोड़ी देर ले लिया इस जवाब खोजने के लिए। Duplicating DropDownListItems Without Looping

DropDownList2.DataSource = DropDownList1.Items 
DropDownList2.DataTextField = "Text" 
DropDownList2.DataValueField = "Value" 
DropDownList2.DataBind() 

यह दो dropdownlists के बीच एक गहरी प्रतिलिपि करेंगे।

शायद एक व्यवस्थापक इस उत्तर को हटा सकता है और दो प्रश्नों को एक साथ जोड़ सकता है।

0
This is also good for copying DropDownList items to another. 

उदाहरण: यह DropDownList1 से DropDownList2 सभी आइटम कॉपी कर देंगे।

आइटम DropDownList1 में:

<asp:DropDownList ID="DropDownList1" runat="server"> 
    <asp:ListItem Text="A" Value="1"></asp:ListItem> 
    <asp:ListItem Text="B" Value="2"></asp:ListItem> 
    <asp:ListItem Text="C" Value="3"></asp:ListItem> 
    <asp:ListItem Text="D" Value="4"></asp:ListItem> 
    <asp:ListItem Text="E" Value="5"></asp:ListItem> 
</asp:DropDownList> 

1- पहले कॉपी DropDownList1 सरणी के लिए।

ListItem[] ListitemsArray = new ListItem[DropDownList1.Items.Count]; 
DropDownList1.Items.CopyTo(ListitemsArray, 0); 

2-: अब सरणी से DropDownList2 में कॉपी।

  foreach (ListItem liItems in ListitemsArray) 
      { 
       DropDownList2.Items.Add(liItems); 
      } 

यह मेरे लिए काम करता है !!!!!!!!!!!!

0

मैंने इसे सीधे एक सरणी से दूसरे में कॉपी करने की आवश्यकता को काटकर इस तरह से किया।

foreach(ListItem listItem in myDropDownList.Items) 
    { 
     myOtherDropDownList.Items.Add(listItem) 
    } 
0

मैं इस

comboBox2.Items.AddRange(comboBox3.Items.OfType<string>().ToArray()); 
vb मैं

Dim cb As CheckBoxList=new CheckBoxList() 
cb.Items.AddRange(CheckBoxList_Source.Items.Cast(Of ListItem)().Select(Function(f) New ListItem(f.Text, f.Value)).ToArray()) 

या

Dim cb As CheckBoxList=new CheckBoxList() 
cb.DataSource = CheckBoxList_Source.Items 
cb.DataBind() 

इस्तेमाल किया में

+0

अधिक स्पष्टीकरण और कोड के साथ एक सामान्य समाधान जोड़ें। यह उत्तर ठीक है और आपके लिए काम करता है लेकिन इस प्रश्न का उत्तर देने के लिए आपको इसे सामान्य चर नाम और स्पष्टीकरण देना होगा जो आपके कोड या परिदृश्य के लिए विशिष्ट नहीं है। – Purushoth

0

लेकिन पाठ के बजाय मूल की सही कीमत के साथ इस बाँध मूल्य की तरह इस्तेमाल किया आइटम

इन एक ही रास्ता मैं तत्वों

संबंधित मुद्दे