2009-02-02 32 views
0

我想建議如何將記錄注入到我的DropdownList中以提供「全部」選項。這裏是我的代碼,來自Northwind數據庫的數據。在SqlDataSource中注入記錄

<asp:DropDownList ID="ddlRegion" runat="server" DataSourceID="SqlDataSource1" 
    DataTextField="RegionDescription" DataValueField="RegionID" 
     AutoPostBack="True" onselectedindexchanged="ddlRegion_SelectedIndexChanged" /> 
<asp:SqlDataSource ID="SqlDataSource1" runat="server" 
    ConnectionString="<%$ ConnectionStrings:NorthwindConnectionString %>" 
    SelectCommand="SELECT [RegionID], [RegionDescription] FROM [Region]" 
     ondatabinding="SqlDataSource1_Databinding"> 
</asp:SqlDataSource> 

我試過以下,但它不添加項目;

if(!Page.IsPostBack()) 
ddlRegion.Items.Insert(0, new ListItem("All", "-1")); 

我想也許使用ondatabinding可能是正確的路要走,但我不知道如何去做。

感謝

回答

2

只需添加的所有項目的ASPX,然後設置AppendDataBoundItems = TRUE,它會保持與綁定項數據靜態定義的項目。

+0

謝謝,這個伎倆。不幸的是,同樣的技巧不適用於DataList,它沒有AppendDataBoundItems屬性。 – Picflight 2009-02-02 22:17:05

1

Timbagas提出了一個很好的建議,另一個是使用存儲過程並在那裏進行附加操作,以便返回的記錄集包含'All'選項以及所需的行。