ddl_ProductType为dropdownlist控件,现在要求它默认显示数据庫对应字段,Product_type,可是,ddl_ProductType的值为数字,显示的内容为数据,数据库中存的也是数据,现在求助,如何反向显示这个控件的内容。
下面有个语句,可是没有成功。
 this.ddl_ProductType.SelectedIndex = ddl_ProductType.Items.IndexOf(ddl_ProductType.Items.FindByText(Product_type));

解决方案 »

  1.   

    怎麼沒人回答呢~~~~~~(>_<)~~~~ 
      

  2.   


    public void Page_Load(object sender,EventArgs e)
    {
         if(!IsPostBack)
         {
               BindData();
               this.ddl_ProductType.Items.FindByText("XXX").Selected = true;
         }
    }public void BindData()
    {
         ...
         //从数据库中获取数据集ds
         this.ddl_ProductType.DataSource = ds;
         this.ddl_ProductType.DataTextField = "Product_type";
         this.ddl_ProductType.DataValueField = "Product_type" ;
         this.ddl_ProductType.DataBind();
    }
      

  3.   

    反向显示这个控件的内容???神马意思??是一开始DropDownList控件加载进来是数据库该字段的值??
      

  4.   


    this.ddl_ProductType.SelectedValue = Product_type;
      

  5.   

    我綁定數據的方式是這樣的,也就是說,DataTextField 和 DataValueField 是不同的,一個是數字,一個是數據。
     string sql = "select * from Part_category";
            this.ddl_ProductType.DataSource = DBHelper.GetDataTable(sql);
            this.ddl_ProductType.DataTextField = "ddl_ProductType";
            this.ddl_ProductType.DataValueField = "ddl_ProductTypeID";
            this.ddl_ProductType.DataBind();
            ddl_ProductType.Items.Insert(0, new ListItem("", "0"));
      

  6.   


    這個不行啊,Value是數字,後面的是字符串,不匹配的。
      

  7.   


    his.ddl_ProductType.Items.FindByText(Product_type).Selected
      

  8.   

    for(int i=0;i<dt.rows.count;i++){
           DropDownList1.Items.Insert(0, new ListItem(dt[i]["name"],dt[i]["id"]));
    }
    这样的灵活性大一些
      

  9.   

    你应该是想在进入编辑当条数据的时候,DropDownList下拉列表显示的选中项,
    应该是数据原始的项,对吗?
    Drp_dept.SelectedValue ="部门(如:人事"
      

  10.   

     
    应该是这样的。。
    ddl_ProductType.SelectedValue = ((ListItem)ddl_ProductType.Items.FindByValue(Product_type)).Value;
      

  11.   

    显示数据的时候首先要设置好   
     this.ddl_ProductType.DataTextField = "ddl_ProductType";
      this.ddl_ProductType.DataValueField = "ddl_ProductTypeID";
      

  12.   


    public void Page_Load(object sender,EventArgs e) 
    {
        if(!IsPostBack)
        {
             BindData();
             // 通过传递的ID值获取到数据库中该字段的值
              string id = Request.QueryString["id"].ToString().Trim();
              string sql = "select Product_Type from Part_category where Product_TypeID="+int.Parse(id);
             DataTable dt  = DBHelper.GetDataTable(sql);
             foreach(DataRowView drv in dt.DefaultView)
             {
                  //这里仅有一条记录
                  this.ddl_ProductType.Items.FindByText(drv["Product_Type"].ToString().Trim()).Selected = true;
             }
        } 

    public void BindData()
     { 
          string sql = "select * from Part_category";
          this.ddl_ProductType.DataSource = DBHelper.GetDataTable(sql);
          this.ddl_ProductType.DataTextField = "Product_Type";
          this.ddl_ProductType.DataValueField = "Product_TypeID";
          this.ddl_ProductType.DataBind();
          ddl_ProductType.Items.Insert(0, "--请选择--");
     } 
      

  13.   

    DataTextField 绑定要显示的字段DataValueField  绑定取值的字段。你想怎么显示就怎么绑定。