2016-11-06 33 views
0

我想在下拉列表中有一個佔位符值。下拉列表應該是Walmart,Kmart等商店的列表。但是,我想要列表中的第一個值項目說「選擇一個商店」。問題是我從數據庫表中獲取商店列表並將其綁定到下拉列表。所以現在,下拉列表顯示:Walmart,Kmart,Hmart。我希望它顯示:選擇一家商店,沃爾瑪,凱馬特,Hmart。 注意:我正在使用ASP.NET C#。ASP.NET - 如何爲數據綁定的下拉列表設置佔位符值?

HTML:

<asp:DropDownList ID="ddlStore" class="btn btn-primary dropdown-toggle" runat="server" AutoPostBack="true" Width="80%"  OnSelectedIndexChanged="ddlStore_SelectedIndexChanged"> 
</asp:DropDownList> 

代碼隱藏:

public void getStores() 
{ 
    objCommand.CommandType = CommandType.StoredProcedure; 
    objCommand.CommandText = "dbo.Store_Select"; 

    DataSet ds; 
    ds = conn.GetDataSetUsingCmdObj(objCommand); 
    ddlStore.DataSource = ds.Tables[0]; 

    if (ds.Tables[0].Rows.Count == 0) 
    { 
    /*No Store to display*/ 
    } 
    else 
    { 
     foreach (DataRow current_row in ds.Tables[0].Rows) 
     { 
      ddlStore.DataTextField = "Store_Name"; 
      ddlStore.DataValueField = "Store_ID"; 
     } 
    } 
    ddlStore.DataBind(); 
} 

謝謝。

回答

2

後的DB數據綁定控件ddlStore.DataBind();你可以簡單地插入ListItem使用

ddlStore.Items.Insert(0, new ListItem("Select a store", "")); 

全部方法:

public void getStores() 
{ 
    objCommand.CommandType = CommandType.StoredProcedure; 
    objCommand.CommandText = "dbo.Store_Select"; 

    DataSet ds; 
    ds = conn.GetDataSetUsingCmdObj(objCommand); 
    ddlStore.DataSource = ds.Tables[0]; 

    if (ds.Tables[0].Rows.Count == 0) 
    { 
    /*No Store to display*/ 
    } 
    else 
    { 
     foreach (DataRow current_row in ds.Tables[0].Rows) 
     { 
      ddlStore.DataTextField = "Store_Name"; 
      ddlStore.DataValueField = "Store_ID"; 
     } 
    } 
    ddlStore.DataBind(); 
    ddlStore.Items.Insert(0, new ListItem("Select a store", "")); 
} 
+0

非常感謝你。那正是我所期待的。 – user3470441

+0

@ user3470441很高興工作,請不要忘記標記帖子作爲答案。 – Seany84

相關問題