文章分類

C# (27) ASP.NET (13) SQL (7) ORACLE (5) JAVA (2) SQLSERVER2008 (2) 大家都在問的事 (2) ACCESS (1) ANDRIOD (1) JQUERY (1) python (1) 雜談 (1)

關於我自己

我的相片
程式初心者 JAVA, ASP.NET, C# ,SQL

2012年5月31日 星期四

【ASP.NET】預設第一筆資料為空白

就是怎麼要在下拉選項中,一開始 DataBind() 資料繫結時,
就先出現預設選項 請選擇,其實做這個非常簡單,在很久很久以前 Dotjum 一開始不太懂,就用了奇怪的方法來達成,
因位DataBind後,你先輸入的靜態選項 清單中的項目 會消失,所以很久以前  Dotjum 就弄了一個在資料 DataSet 叫回來之後,
再弄一筆 請選擇的資料上去 不然就是 等 DropDownList DataBind 後,在動態的加一筆資料進去。
Dotjum 還曾經看過,有人為了這個弄了一個 Control 出來,請注意上述這幾種方法,千萬不要在使用了
因為ASP.NET已經有更簡單的方式了,話不多說,請看說明
Step1. 在 DropDownList 請將 AppendDataBoundItems 設定為 true
Step2. 設定一個項目為預設選項 ex:請選擇 0
<asp:DropDownList ID="DropDownList1" runat="server" AppendDataBoundItems="True" DataMember="DefaultView" DataSourceID="SqlDataSource3" DataTextField="鄉鎮區市名稱" DataValueField="縣市代號" Width="186px"> <asp:ListItem Value="0">請選擇</asp:ListItem> </asp:DropDownList>
Step3.再加上一個  RequiredFieldValidator 驗證該 DropDownList 必且設定若初始值 0 (這邊是你可以依照狀況來設定的)
<asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ControlToValidate="DropDownList1" ErrorMessage="請選擇項目" InitialValue="0"></asp:RequiredFieldValidator>
OK~就這樣簡簡單單三個步驟,您就能夠做出一個具有 DataBind 而且還會出現 請選擇,而且若 POSTBACK 發現他是沒選任何值,還能夠
做出檢查的功能。
而這邊Dotjum要跟大家說一個延伸的小地方,就是他是不限定在 DropDownList 因為你要想DropDownList 也是由 ListItem 為項目,
所以呢!這個功能只要是ListItem的項目都能使用,像是 ListBox DropDownList  CheckBoxList  RadioButtonList BulletedList

所以不侷限在 DropDownList ~

1 則留言:

  1. 另一種方法, 在程式中去做BINDING後並加入第一筆資料選取值為0

    DropDownList.DataSource = list;//list為Datatable或其它資料容器
    DropDownList.DataTextField = "name";
    DropDownList.DataValueField = "ID";
    DropDownList.DataBind();

    //以下為在BINDING後加入第一筆資料
    ListItem LI=new ListItem();
    LI.Text="--SELECT--";
    LI.Value="0";

    DropDownList.Items.Insert(0, LI);
    DropDownList.SelectedIndex = 0;

    回覆刪除