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();