OleDbConnection con = db.con();
        con.Open();
        string constr1 = "SELECT * FROM [pro_c1] ORDER BY [Order_] DESC ";
        OleDbDataAdapter adp = new OleDbDataAdapter(constr1, con);
        DataSet ds = new DataSet();
        adp.Fill(ds, "pro_c1");
        this.drop_class1.DataSource = ds.Tables["pro_c1"];
        this.drop_class1.DataTextField = "ClassName";
        this.drop_class1.DataValueField = "Class1ID";
        this.drop_class1.DataBind();
        //this.drop_class1.Items.Insert(0, new ListItem("一级分类", "0"));
        con.Close();
 //this.drop_class1.Items.Insert(0, new ListItem("一级分类", "0"));
我现在不要这个为默认的,我是能过产品数据库c1,c2的值选择为默认的类别
dropdownlist的value为C1,C2的值,请教

解决方案 »

  1.   

    加以下这个方法
    private void SetListSelected(ListControl list, string match)
    {

    for (int i=0; i<list.Items.Count; i++)
    {
    if ((list.Items[i].Value == match)||(list.Items[i].Text == match))
    {
    if (list.SelectedItem != null) list.SelectedItem.Selected = false;
    list.Items[i].Selected = true;
    break;
    }
    else
    {
    list.Items[i].Selected = false;
    }
    }
    }然后调用this.SetListSelected(drop_class1,strValue);//strValue就是你数据库中产品的值
      

  2.   

    this.drop_class1.DataValueField = "Class1ID";
            this.drop_class1.DataBind();
       this.drop_class1.SelectedValue = "c1"
      

  3.   

    string c1 = Convert.ToString(dr["c1"]);
                this.drop_class1.SelectedValue = c1;
                string c2 = Convert.ToString(dr["c2"]);
                this.drop_class2.SelectedValue = c2;
    我用这种方法,读取产品表中的类的,值,这样也行哦....
      

  4.   

    对啊lz,先读取数据库取得特定值然后在绑定后赋值给dropdownlist的selectedvalue属性一样可以达到你的效果,而不用循环查找