मैं एएसपी.नेट में डाटाबेस ड्रॉप डाउन सूची का प्रारंभिक मूल्य कैसे सेट करूं?डाटाबेस ड्रॉप डाउन सूची - प्रारंभिक मान
उदाहरण के लिए, मुझे मान चाहिए, लेकिन प्रदर्शित करने वाला पहला मान होना चाहिए - एक शून्य मान के साथ एक --- चुनें।
मैं एएसपी.नेट में डाटाबेस ड्रॉप डाउन सूची का प्रारंभिक मूल्य कैसे सेट करूं?डाटाबेस ड्रॉप डाउन सूची - प्रारंभिक मान
उदाहरण के लिए, मुझे मान चाहिए, लेकिन प्रदर्शित करने वाला पहला मान होना चाहिए - एक शून्य मान के साथ एक --- चुनें।
मुझे लगता है कि यह आप क्या करना चाहते हैं:
<asp:DropDownList ID="DropDownList1" runat="server" AppendDataBoundItems="true">
<asp:ListItem Text="--Select One--" Value="" />
</asp:DropDownList>
यकीन है कि 'AppendDataBoundItems' सच पर सेट है वरना आप साफ हो जाएगा 'करें - जब आप अपना डेटा बाध्य करते हैं तो एक - 'सूची आइटम चुनें।
आप 'AutoPostBack' सच आप भी करने के लिए सच फिर एक 'RequiredFieldValidator' का उपयोग सुनिश्चित करने के लिए '' CausesValidation 'गुण सेट करना होगा करने के लिए सेट ड्रॉप डाउन सूची की संपत्ति है, तो - एक का चयन करें - 'विकल्प एक पोस्टबैक का कारण नहीं है।
<asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ControlToValidate="DropDownList1"></asp:RequiredFieldValidator>
कोई आइटम जोड़ें और अपनी "चयनित" संपत्ति को सत्य पर सेट करें, तो आप शायद "appenddatabounditems" प्रॉपर्टी को सत्य पर भी सेट करना चाहेंगे ताकि डाटाबेस के दौरान आपका प्रारंभिक मान हटाया न जाए।
यदि आप अपने डाटाबेस आइटम में प्रारंभिक मान सेट करने के बारे में बात कर रहे हैं तो अपने ऑनडाबाउंड ईवेंट में हुक करें और सेट करें कि आप किस इंडेक्स को चुनना चाहते हैं = सच है, तो आप इसे "लपेटना नहीं चाहते हैं।" अगर पोस्ट नहीं है। ... "हालांकि
Protected Sub DepartmentDropDownList_DataBound(ByVal sender As Object, ByVal e As System.EventArgs) Handles DepartmentDropDownList.DataBound
If Not Page.IsPostBack Then
DepartmentDropDownList.SelectedValue = "somevalue"
End If
End Sub
मैं इसे डेटाबेस के बाद ड्रॉप डाउन सूची की टेक्स्ट प्रॉपर्टी सेट करता हूं। कुछ इस तरह:
protected void LoadPersonComboBox()
{
var p = new PeopleBLL();
rcmbboxEditPerson.DataSource = p.GetPeople();
rcmbboxEditPerson.DataBind();
rcmbboxEditPerson.Text = "Please select an existing person to edit...";
}
यह इस लटकती की प्रारंभिक दिखाई मूल्य दिखाई देता है, लेकिन वास्तव में ड्रॉप डाउन का हिस्सा बनना नहीं, न ही यह एक चयन है।
मुझे पता है कि यह पहले से ही एक चुना गया जवाब है - लेकिन मैं अपने दो सेंट में टॉस करना चाहता था। मैं एक डेटाबाउंड ड्रॉपडाउन सूची है:
<asp:DropDownList
id="country"
runat="server"
CssClass="selectOne"
DataSourceID="country_code"
DataTextField="Name"
DataValueField="CountryCode_PK"
></asp:DropDownList>
<asp:SqlDataSource
id="country_code"
runat="server"
ConnectionString="<%$ ConnectionStrings:DBConnectionString %>"
SelectCommand="SELECT CountryCode_PK, CountryCode_PK + ' - ' + Name AS N'Name' FROM TBL_Country ORDER BY CountryCode_PK"
></asp:SqlDataSource>
codebehind में, मैं यह है - (जो डिफ़ॉल्ट रूप से संयुक्त राज्य अमेरिका का चयन करता है):
if (this.IsPostBack)
{
//handle posted data
}
else
{
country.SelectedValue = "US";
}
पेज शुरू में 'अमेरिका' मूल्य के आधार पर लोड किसी चयनित इंडेक्स के बारे में चिंता करने की कोशिश करने के बजाय (यदि कोई अन्य डेटा डेटा तालिका में जोड़ा जाता है - मैं फिर से कोड नहीं करना चाहता)
मुझे पता है कि यह पुराना है, लेकिन इन विचारों का संयोजन होता है एक बहुत ही सुरुचिपूर्ण समाधान:
DropDownList (AppendDataBoundItems = false, आइटम खाली) के लिए सभी डिफ़ॉल्ट संपत्ति सेटिंग्स रखें। तो फिर इस तरह databound घटना संभाल:
protected void dropdown_DataBound(object sender, EventArgs e)
{
DropDownList list = sender as DropDownList;
if (list != null)
list.Items.Insert(0, "--Select One--");
}
केक पर टुकड़े है कि यह एक हैंडलर, DropDownList वस्तुओं के किसी भी संख्या के द्वारा साझा किया जा सकता है या यहां तक कि अपने सभी परियोजनाओं के लिए एक सामान्य उद्देश्य उपयोगिता पुस्तकालय में डाल दिया।
इस विधि को कहां कॉल करें? –
@iQue आप इसे अपने ड्रॉपडाउनलिस्ट के लिए 'ऑनडाटाबाउंड' ईवेंट के रूप में सेट कर सकते हैं। मुझे लगता है कि यह स्वीकार किए गए उत्तर से काफी बेहतर है, क्योंकि डेटासोर्स में कोई समस्या नहीं है और हम फिर से डेटाबैंड करते हैं; स्वीकार्य उत्तर के साथ, पुनः-डेटा बाइंडिंग केवल मौजूदा सूची में तत्व जोड़ देगा (जो कि आप चाहते हैं कि _could_ हो, लेकिन ऐसा लगता है कि यह वही नहीं है जो आप चाहते हैं)। –
ड्रॉप-डाउन से एक मूल्य के चयन करने के लिए इस तरह सूचकांक का उपयोग करें:
अगर हम
<asp:DropDownList ID="DropDownList1" runat="server" AppendDataBoundItems="true"></asp:DropDownList>
है आप का प्रयोग करेंगे:
DropDownList1.Items[DropDownList1.SelectedIndex].Value
इस के लिए मूल्य वापसी होगी चयनित सूचकांक इस मामले में
dropdownlist.Items.Insert(0, new Listitem("--Select One--", "0");
हाय दोस्त आप
AppendDataBound="true"
का उपयोग कर सकते हैं और इस के बाद सूची आइटम का उपयोग करें। उदाहरण के लिए .:
<asp:DropDownList ID="DropDownList1" runat="server" AppendDataBoundItems="true">
<asp:ListItem Text="--Select One--" Value="" />
</asp:DropDownList>
लेकिन उसके बाद दूसरी बार चयन डेटा पुराने डेटा के साथ संलग्न कर रहे हैं इस में समस्या है।
धन्यवाद, यह वही है जो मैं ढूंढ रहा था। :-) +1 –
यह एक बहुत उपयोगी है। – Denis
सरल, त्वरित और आसान। अच्छा उत्तर। –