2014-06-13 8 views
7

मैं एसक्यूएल तालिका से ड्रॉपडाउन सूची में डेटा लाने के लिए एएसपीनेट का उपयोग कर रहा हूं। समस्या यह है कि, जब मैं ड्रॉपडाउन सूची में डिफ़ॉल्ट चयन देता हूं। यह डिफ़ॉल्ट मान नहीं लेता है। कृपया देखें कोडड्रॉपडाउन सूची डिफ़ॉल्ट मान कैसे जोड़ें

protected void Page_Load(object sender, EventArgs e) 
{ 
    if (!IsPostBack) 
    { 
     conn.Open(); 
     SqlCommand cmd = new SqlCommand("select * from States_agri", conn); 
     SqlDataReader dr = cmd.ExecuteReader(); 
     ddl_state.DataSource = dr; 
     ddl_state.Items.Clear(); 
     ddl_state.Items.Add("--Please Select state--"); 
     ddl_state.DataTextField = "StateName"; 
     ddl_state.DataValueField = "StateID"; 
     ddl_state.DataBind(); 
     conn.Close(); 
    } 
} 
` 

इसके अलावा कृपया अपने संदर्भ के लिए ड्रॉपडाउन सूची aspx कोड देखें।

<asp:UpdatePanel ID="FormUpdate" runat="server" UpdateMode="Conditional"> 
    <Triggers> 
     <asp:AsyncPostBackTrigger ControlID="ddl_state" EventName="SelectedIndexChanged" /> 
    </Triggers> 
    <ContentTemplate> 
     <table> 
      <tr> 
       <td>State*</td> 
       <td> 
        <asp:DropDownList ID="ddl_state" runat="server" CssClass="cbfld-popup1" AutoPostBack="true" OnSelectedIndexChanged="ddl_state_SelectedIndexChanged"> 
        <asp:ListItem Enabled="true" Selected="True" Text="Please select State"></asp:ListItem> 
        </asp:DropDownList> 
       </td> 

      </tr> 
      <tr> 
       <td>District*</td> 
       <td> 
        <asp:DropDownList ID="ddl_district" CssClass="cbfld-popup1" runat="server"> 
        <asp:ListItem Enabled="true" Selected="True" Text="Please select city"></asp:ListItem> 
                             </td> 
      </tr> 
     </table> 
    </ContentTemplate> 
</asp:UpdatePanel> 

उत्तर

12

डेटा-बाइंडिंग, यह कर लेंगे:

ddl_state.Items.Insert(0, new ListItem("Select","NA") 

या के रूप में मार्कअप में जोड़ें:

<asp:DropDownList .. AppendDataBoundItems="true"> 
    <Items> 
     <asp:ListItem Text="Select" Value="" /> 
    </Items> 
</asp:DropDownList> 
2

आप DataBind के बाद menioned कोड के नीचे का उपयोग करने के

ddl_state.Items.Insert(0, new ListItem("--Please Select state--", "0")); 
0

आप अपने DropDownList

< asp:DropDownList AppendDataBoundItems="true" ...> की घोषणा में सच करने के लिए AppendDataBoundItems सेट कर सकते हैं,

यह इसलिए आवश्यक है है क्योंकि जैसा कि यह एमएसडीएन

में बताया गया है

AppendDataBoundItems प्रॉपर्टी आपको सूची नियंत्रण आइटम डेटा बाध्यकारी से पहले आइटम जोड़ने की अनुमति देता है।

कृपया here देखें।

0

आप अपने ड्रॉपडाउन सूची में AppendDataBoundItems="true" संपत्ति निर्धारित करने की आवश्यकता

<asp:DropDownList ID="DropDownList1" AppendDataBoundItems="true" runat="server"> 
<asp:ListItem Text="Add New" Value="0" /> 
</asp:DropDownList> 
0

यदि आप डेटाबेस डेन से डेटा प्राप्त करना चाहते हैं तो यह सहायक होगा:

<asp:DropDownList id="MainCat_DropDownList" runat="server" Width="185px" AutoPostBack="True" DataSourceID="Maincategory_SqlDataSource" DataTextField="main_catname" DataValueField="main_catid" AppendDataBoundItems="True"></asp:DropDownList> <asp:SqlDataSource id="Maincategory_SqlDataSource" runat="server" ConnectionString="<%$ ConnectionStrings:ConnectionString %>" SelectCommand="SELECT main_catid, Title_id, main_catname FROM main_cat WHERE (Title_id = 1)"></asp:SqlDataSource> </TD></TR><TR><TD align=right>Package</TD><TD align=left><asp:DropDownList id="MainPack_DropDownLis" runat="server" Width="185px" AutoPostBack="True" DataSourceID="MainPackage_SqlDataSource" DataTextField="pack_name" DataValueField="pack_id"> 
</asp:DropDownList> 
<asp:SqlDataSource id="MainPackage_SqlDataSource" runat="server" ConnectionString="<%$ ConnectionStrings:connectionString %>" SelectCommand="select main_catid,pack_id,pack_name from main_pack where [email protected]_catid"> 
    <SelectParameters> 
    <asp:ControlParameter ControlID="MainCat_DropDownList" Name="main_catid" PropertyName="SelectedValue" /> 
    </SelectParameters> 
</asp:SqlDataSource> 
1
ddl_state.Items.Insert(0, new ListItem("Select","NA") 
0

AppendDataBoundItems संपत्ति आप डेटा बाइंडिंग से पहले होता है ListControl वस्तु में आइटम जोड़ने की अनुमति देता है।

अगर हम ऐसा करेंगे तो यह डेटाबेस से आइटम को जोड़ देगा जब भी हम कॉलम से सभी मूल्यों के साथ चयन करते हैं और ओवरलोड किए जाते हैं। 1. DDL देश [अगर हम DDLcountry का चयन करेंगे तो यह DDLState को प्रतिबिंबित करना चाहिए] 2. DDL राज्य [अगर हम DDLstate का चयन करेंगे तो यह DDLcity को प्रतिबिंबित करना चाहिए] 3. DDL शहर

:

के उदाहरण का अनुसरण करने पर विचार

लेकिन जब भी हम नई डीडीएलकंट्री चुनते हैं तो डीडीएलस्टेट को '- चयन राज्य' के साथ दोबारा चयन करना चाहिए और डीडीएलसीटी '- शहर का चयन करें -'

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