DropDownList控件的数据绑定

DropDownList控件如何进行数据绑定

 

【简单方法】在单击控件的向右箭头,在【编辑项】里面进行编辑添加(如下图所示,在前台代码中添加)

 

方法一、在页面初始化时候将集合绑定到DropDownList(人工绑定)
public void Page_Load(Object src.EventArgs e)
{

//添加数据项
ArrayList arrValue = new ArrayList();
arrValue.add("我");
arrValue.add("你");
arrValue.add("他");
arrValue.add("她");
//将数组绑定到DropDownList控件的DataSource属性
ddl.DataSource = arrValue;
ddl.DataBind();
}
//实现
选项有:<asp:DropDownList id="ddl" runat="server"/>

方法二、在页面初始化的时候向DropDownList添加数据(人工绑定)

public void Page_Load(Object src.EventArgs e)
{

语法:DropDownList.Items.Add(new ListItem(“说明文字”,”值”);
ddl.Items.Add(new ListItem("text","我");
ddl.Items.Add(new ListItem("text1","你");
ddl.Items.Add(new ListItem("text2","他");

}
//实现
选项有:<asp:DropDownList id="ddl" runat="server"/>

方法三、将DataReader读取的数据动态绑定到DropDownList(数据库绑定
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
string myconnstr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+Server.MapPath(".")+"..\\database\\db.mdb";
OleDbConnnection myconn=new OleDbConnnection(myconnstr);
string sqlstr="select * from test";
OleDbCommand myComm = new OleDbCommand(sqlstr,myconn);
myComm.Connection.Open();
OleDbDataReader dr=myComm.ExecuteReader();
while (dr.Read())
{
     bj.Items.Add(new ListItem(dr["name"].ToString(), dr["id"].ToString()));//增加Item(dr["name"]、dr["id"]表示数据库里面的列名

//或者这样也能绑定,
//DropDownList1.Items.Add( new ListItem( myReader[1].ToString(),myReader[0].ToString() ) );//增加Item
//都是要在知道Sql语句或者数据表结构的前提下才能这样绑定
}

dr.Close();
}
}

四、将DataSet读取的数据动态绑定到DropDownList数据库绑定
     SqlConnection sqlconn = new SqlConnection();
     sqlconn.ConnectionString = "workstation id=localhost;packet size=4096;user id=sa;data source=db1;persist security info=False;initial catalog=DB";
     sqlconn.Open();
     SqlDataAdapter sqldar = new SqlDataAdapter("select UserName from forums_Users",sqlconn);
     sqldar.SelectCommand.CommandType = CommandType.Text;
     DataSet Ds= new DataSet(); 
     sqldar.Fill(Ds,"Users");
     ddl.DataSource = Ds.Tables["Users"].DefaultView;
     ddl.DataTextField="UsersName";
     ddl.DataBind(); 

【或者改为:举例如下】

          if (ds1 != null && ds1.Tables.Count > 0 && ds1.Tables[0].Rows.Count > 0)
            {
                ddllist2.DataSource = ds1;
                ddllist2.Items.Clear();
                ddllist2.DataTextField = "Name";
                ddllist2.DataValueField = "Symbol";
                ddllist2.DataBind();
                ddllist2.Items.Add("请选择");  //添加了一项
                ddllist2.Text = "请选择";            //默认显示(方法一)

              设置默认值认值:DropDownList.SelectedValue = 值;(方法二)

              方法三: ListItem li = new ListItem("--请选择--", "");   
                             ddlStaff.Items.Insert(0, li);

            }
     sqlconn.Close();
第一行是创建一个sql连接对象sqlconn;
第二行是给新建的sql连接对象sqlconn的连接字符串赋予正确的值;
第三行是让sql连接对象sqlconn打开,连接sql数据库;
第四行是创建一个sql适配器对象sqldar,并同时让其使用sqlconn对象执行一条sql查询语句;
第五行是设置sqldar对象的命令类型为文本型;
第六行是创建一个数据集对象Ds;
第七行是将sqldar执行的结果填充到Ds中,并将命名为Users;
第八行是将DropDownList的数据源设置为Ds的Users,并使用默认的查看模式;
第九行是设置DropDownList空间的显示项对应的字段名UsersName;
第十行是执行DropDownList的数据绑定方法;
第十一行是关闭sqlconn对象。

/// <summary>
        /// 绑定下拉列表
        /// </summary>
        /// <param name="ddl">下拉列表名称</param>
        /// <param name="ds">数据源</param>
        /// <param name="text">显示字段</param>
        /// <param name="value">值字段</param>
        public void bindDropDownList(DropDownList ddl, DataSet ds, string text, string value)
        {
            ddl.DataSource = ds;
            ddl.DataTextField = text;
            ddl.DataValueField = value;
            ddl.DataBind();
            ddl.Items.Add("请选择");
            ddl.Text = "请选择";
        }

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

 //将myCommand返回的DataReader结果指定给下拉列表框
            EmpName.DataSource= myCommand.ExecuteReader();
            //将EmpName的文本域指定为LastName
            EmpName.DataTextField = "LastName";
            //将EmpName的值域指定为EmployeeID
            EmpName.DataValueField = "EmployeeID";
            EmpName.DataBind();

 

---------------------------------------------------------------------------------------------------------------------------------------------

五、使用DataBinder.eval_r(Container.DataItem,"表字段")输出绑定数据数据库绑定

protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
string myconnstr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+Server.MapPath(".")+"..\\database\\db.mdb";
OleDbConnnection myconn=new OleDbConnnection(myconnstr);
string sqlstr="select * from test";
OleDbCommand myComm = new OleDbCommand(sqlstr,myconn);
myComm.Connection.Open();
OleDbDataReader dr=myComm.ExecuteReader();
ddl.DataSource = dr;
ddl.DataBind(); 绑定倒DD1中
}
}
在UI界面的DDL中直接调用,绑定的方法调用
DataBinder.eval_r(Container.DataItem,"表字段")

*************************************************************************************************************************************************

方法一:
其实DropDownList 绑定值很简单,看下面一句代码。

DropDownList.Items.Add(new ListItem(“说明文字”,”值”);
设置默认值认值:
DropDownList.SelectedValue = 值;

方法二:
DropDownList绑定方法如下:

下面是在ASPX文件里的控件代码:
<asp:DropDownList ID="bid" runat="server"></asp:DropDownList>

CS里的代码
string cStr = "select id,classname from classify order by id asc";
        SqlDataAdapter cRs=new SqlDataAdapter(cStr,conn);
        conn.Open();
        DataSet cRd = new DataSet();
        cRs.Fill(cRd);
        bid.DataSource = cRd;
        bid.DataTextField = "classname";//绑定显示名称的字段
        bid.DataValueField = "id";//绑定值的字段
        bid.DataBind();
        conn.Close();

这样就将数据库里的内容绑定到DropDownList里面去了。

 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

我们也可以合并进行绑定,请看下面的例子:

       this.DropDownList1.Items.Add(new ListItem("22"));
        this.DropDownList1.Items.Add(new ListItem("33"));
        this.DropDownList1.Items.Add(new ListItem("44"));
        this.DropDownList1.Items.Add(new ListItem("55"));
        ArrayList su = new ArrayList();
        su.Add("aa");
        su.Add("bb");
        su.Add("cc");
        su.Add("dd"); 
        su.Add("ee"); 
        this.DropDownList1.DataSource = su;
        this.DropDownList1.DataBind();

 

 

 

 

 

 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值