none
請問 Gridview裡的 dropdownlist顯示中文, 且要存值 RRS feed

  • 問題

  • 安安, 請教各位大大
    我的是visual studio 2005(VB)+ SQL 2005

    想請問各位, 我在Gridview裡做了一個DropDownlist下拉式選單
    ,可以讓同事儲存男性或女性
    但是資料庫裡的資料我們被規定要這樣存:

    SEX,  性別
    -----------
    M,     男性
    F,     女性


    Gridivew讀到的資料是M,或F,  我知道要設資料來源,顯示資料和值

    可是用Gridview回存時, 資料卻儲成男性,  而不是存成M

    還請各位大大指教,  或是哪裡有類似現成的code, 謝謝您  ^^~

    2011年7月19日 下午 04:20

解答

  • 看來你的整個流程從USER選擇性別到儲存至資料庫都沒錯,我想問題應該是出在儲存的時候取錯DropDownList的屬性。

    請問你儲存的時候是以DropDownList.SelectedValue來存到SEX欄位嗎?

    附上簡單範例,有興趣可以參考看看。

    #region 前置作業-以DataTable模擬從資料庫取出性別資料
    DataTable dt = new DataTable();
    dt.Columns.AddRange(new DataColumn[] { 
    									 new DataColumn("SEX",typeof(char))
    									 ,new DataColumn("Desc",typeof(string))
    									});
    DataRow dr = dt.NewRow();
    dr[0] = "M";
    dr[1] = "男性";
    dt.Rows.Add(dr);
    
    dr = dt.NewRow();
    dr[0] = "F";
    dr[1] = "女性";
    dt.Rows.Add(dr);
    #endregion
    
    #region DropdownList資料繫結與設定顯示文字與值
    DropDownList1.DataSource = dt;
    DropDownList1.DataTextField = "Desc";
    DropDownList1.DataValueField = "SEX";
    DropDownList1.DataBind();
    #endregion
    
    //儲存至資料庫的用法
    Response.Write(DropDownList1.SelectedValue);
    
    //從資料庫取出使用者儲存的項目還原至DropdownList的用法,假設資料庫儲存的值是F
    DropDownList1.SelectedValue = "F";



    以上說明若有錯誤請指教,謝謝。
    http://www.dotblogs.com.tw/terrychuang/
    2011年7月19日 下午 10:24
  • 2011年7月19日 下午 05:03

所有回覆

  • 2011年7月19日 下午 05:03
  • 看來你的整個流程從USER選擇性別到儲存至資料庫都沒錯,我想問題應該是出在儲存的時候取錯DropDownList的屬性。

    請問你儲存的時候是以DropDownList.SelectedValue來存到SEX欄位嗎?

    附上簡單範例,有興趣可以參考看看。

    #region 前置作業-以DataTable模擬從資料庫取出性別資料
    DataTable dt = new DataTable();
    dt.Columns.AddRange(new DataColumn[] { 
    									 new DataColumn("SEX",typeof(char))
    									 ,new DataColumn("Desc",typeof(string))
    									});
    DataRow dr = dt.NewRow();
    dr[0] = "M";
    dr[1] = "男性";
    dt.Rows.Add(dr);
    
    dr = dt.NewRow();
    dr[0] = "F";
    dr[1] = "女性";
    dt.Rows.Add(dr);
    #endregion
    
    #region DropdownList資料繫結與設定顯示文字與值
    DropDownList1.DataSource = dt;
    DropDownList1.DataTextField = "Desc";
    DropDownList1.DataValueField = "SEX";
    DropDownList1.DataBind();
    #endregion
    
    //儲存至資料庫的用法
    Response.Write(DropDownList1.SelectedValue);
    
    //從資料庫取出使用者儲存的項目還原至DropdownList的用法,假設資料庫儲存的值是F
    DropDownList1.SelectedValue = "F";



    以上說明若有錯誤請指教,謝謝。
    http://www.dotblogs.com.tw/terrychuang/
    2011年7月19日 下午 10:24
  • findcontrol,找到dropdownlist後,使用SelectedValue屬性來取值。
    常用資源參考:
    小弟的blog: In 91,wiki: my wiki
    • 已提議為解答 TerryChuang 2011年7月20日 上午 08:34
    2011年7月20日 上午 01:46
    版主