首先我想把数据中的某一值赋值给dropdown显示在页面上,然后可以选择下拉框的选项

解决方案 »

  1.   

    绑定直接是
    dropdown.DataSource = datatable;
    dropdown.Text = "name";
    dropdown.Value = "id";
    dropdown.DataBind();
      

  2.   

    赋了数据源以后。
    dropdownlist.selectedvalue=你数据库里面那个值
      

  3.   

     protected void Page_Load(object sender, EventArgs e)
            {
                if (!IsPostBack)
                {
                    Database db = DatabaseFactory.CreateDatabase();
                    string idstr = Page.Request.QueryString["POIINFO_ID"];
                    ddl(ddlType, "select code,text from s_syscode where parentcode='POITYPE'", "text", "code");
                    ddl(ddlProvince, "select code ,text from s_syscode where parentcode='AREA'", "text", "code");
                    string sql = "select * from poiinfo where poiinfo_id='" + idstr + "'";
                    using (IDataReader reader = db.ExecuteReader(CommandType.Text, sql))
                    {
                        while (reader.Read())
                        {
                            TxtName.Text = reader["name"].ToString();
                            ddlType.SelectedValue = reader["type"].ToString();
                            ddlSubType.SelectedValue = reader["subtype"].ToString();
                            ddlProvince.SelectedValue = reader["province"].ToString();
                            ddlCity.SelectedValue = reader["city"].ToString();
                            ddlCounty.SelectedValue = reader["county"].ToString();
                            ddlVillage.SelectedValue = reader["village"].ToString();
                            TxtStreet.Text = reader["street"].ToString();
                            TxtDoorNum.Text = reader["doornum"].ToString();
                            TxtPostCode.Text = reader["postcode"].ToString();
                            TxtB.Text = reader["b"].ToString();
                            TxtL.Text = reader["l"].ToString();
                            TxtAddress.Text = reader["address"].ToString();
                            TxtTel.Text = reader["tel"].ToString();
                            FCKeditor1.Value = reader["content"].ToString();//读取blob未写
                            TxtMemo.Text = reader["memo"].ToString();
                        }
                    }
                }
            }
     public void ddl(DropDownList DDL, string sqlstr, string dtf, string dvf)
            {
                Database db = DatabaseFactory.CreateDatabase();
                DataSet ds = db.ExecuteDataSet(CommandType.Text, sqlstr);
                DDL.DataSource = ds;
                DDL.DataTextField = dtf;
                DDL.DataValueField = dvf;
                DDL.DataBind();
            }
    这是我写的,但是赋值不对
      

  4.   

    public void ddl(DropDownList DDL, string sqlstr, string dtf, string dvf) 
            { 
                Database db = DatabaseFactory.CreateDatabase(); 
                DataSet ds = db.ExecuteDataSet(CommandType.Text, sqlstr); 
                DDL.DataSource = ds; 
                DDL.DataTextField = dtf; 
                DDL.DataValueField = dvf; 
                DDL.DataBind(); 
                DDL.SelectedIndex=1;
            } 
      

  5.   

    DDL.SelectedValue="数据库对应的dvf"
      

  6.   

    绑定数据集我已经写了,现在就是要把数据中取出的值赋给dropdownlist,
    ddlType.SelectedValue = reader["type"].ToString(); 
    为什么就是不是数据库中的那个值呢
      

  7.   

    ddlType.SelectedValue = reader["type"].ToString();比如举个例子吧。1--人民;2--日元;3--美元晕。。这里写死如果默认的要显示美元:ddlType.SelectedValue="3";
      

  8.   

    是这个值么?你调试了没?
    或者说有的时候一般都是这个值是"test "中间多个空格而已,还是没有赋值给它选中的项。
      

  9.   

    难道楼主只是在问怎么DropDownList怎么绑定数据源?DDL.DataSource = ds; 
    DDL.DataTextField = dtf; 
    DDL.DataValueField = dvf; 如果这里的ds有值的话,dtf,dvf确实是两个字段的话。
    那么你改下
    DDL.DataSource = ds.Tables[0];试试。。如果连单步都不会,建议你问下你旁边的人。 
      

  10.   

    我不是问绑定的问题
    我问的是在dropdownlist中显示的问题,看看我上面写的代码,看看什么地方写错了
      

  11.   

    貌似当偶的话不存在哦
    还是那句话,调试下,或许赋值时,应该是赋值"test",被你的reader读出来的是"test "
      

  12.   

    sorry,我刚没人在看你代码我猜是你大小写有问题。。或者这里面有null值。直接从那边拷贝字段名过来。。
      

  13.   

    protected void Page_Load(object sender, EventArgs e)
            {
                if (!IsPostBack)
                {
                    Database db = DatabaseFactory.CreateDatabase();
                    string idstr = Page.Request.QueryString["POIINFO_ID"];
                    ddl(ddlType, "select code,text from s_syscode where parentcode='POITYPE'", "text", "code");
                    ddl(ddlProvince, "select code ,text from s_syscode where parentcode='AREA'", "text", "code");
                    string sql = "select * from poiinfo where poiinfo_id='" + idstr + "'";
                    using (IDataReader reader = db.ExecuteReader(CommandType.Text, sql))
                    {
                        while (reader.Read())
                        {
                            TxtName.Text = reader["name"].ToString();
                            ddlType.SelectedValue = reader["type"].ToString();
                            ddlSubType.SelectedValue = reader["subtype"].ToString();
                            ddlProvince.SelectedValue = reader["province"].ToString();
                            ddlCity.SelectedValue = reader["city"].ToString();
                            ddlCounty.SelectedValue = reader["county"].ToString();
                            ddlVillage.SelectedValue = reader["village"].ToString();
                            TxtStreet.Text = reader["street"].ToString();
                            TxtDoorNum.Text = reader["doornum"].ToString();
                            TxtPostCode.Text = reader["postcode"].ToString();
                            TxtB.Text = reader["b"].ToString();
                            TxtL.Text = reader["l"].ToString();
                            TxtAddress.Text = reader["address"].ToString();
                            TxtTel.Text = reader["tel"].ToString();
                            FCKeditor1.Value = reader["content"].ToString();//读取blob未写
                            TxtMemo.Text = reader["memo"].ToString();
                        }
                    }
                }
            }
            public void ddl(DropDownList DDL, string sqlstr, string dtf, string dvf)
            {
                Database db = DatabaseFactory.CreateDatabase();
                DataSet ds = db.ExecuteDataSet(CommandType.Text, sqlstr);
                DDL.DataSource = ds;
                DDL.DataTextField = dtf;
                DDL.DataValueField = dvf;
                DDL.DataBind();
                DDL.SelectedIndex = 1; 
            }        protected void ddlType_OnSelectedIndexChanged(object sender, EventArgs e)
            {
                ddl(ddlSubType, "select code ,text from s_syscode where parentcode='" + ddlType.SelectedValue + "'", "text", "code");
            }        protected void ddlProvince_OnSelectedIndexChanged(object sender, EventArgs e)
            {
                ddl(ddlCity, "select code,text from s_syscode where parentcode='" + ddlProvince.SelectedValue + "'", "text", "code");
            }        protected void ddlCity_OnSelectedIndexChanged(object sender, EventArgs e)
            {
                ddl(ddlCounty, "select code,text from s_syscode where parentcode='" + ddlCity.SelectedValue + "'", "text", "code");
            }        protected void ddlCity_OnDataBound(object sender, EventArgs e)
            {
                ddl(ddlCounty, "select code,text from s_syscode where parentcode='" + ddlProvince.SelectedValue + "'", "text", "code");
            }        protected void ddlCounty_OnSelectedIndexChanged(object sender, EventArgs e)
            {
                ddl(ddlVillage, "select code,text from s_syscode where parentcode='" + ddlCounty.SelectedValue + "'", "text", "code");
            }        protected void ddlCounty_OnDataBound(object sender, EventArgs e)
            {
                ddl(ddlVillage, "select code,text from s_syscode where parentcode='" + ddlCity.SelectedValue + "'", "text", "code");
            }
    我把我写的都给你们看一下吧,看看错误都出在哪儿啊
      

  14.   

    fuck。。楼主你连自己动手单步的能力都没有,或者都懒得弄,却花这么多时间来这里瞎玩。早单步找到具体的原因了。惹大家在这里瞎猜
      

  15.   

    你可以这样
    {1}显示数据
    (2)让那个要显示的数据选中。比如
    foreach(ListItem item in ddlType.Items)
    {
        if(item.text="......")
    {
       item.selected=true;
    }
    }