一、DropDownList
命名空间:System.Web.UI.WebControls
程序集:System.Web(在 system.web.dll 中)
一些常用的属性:
DataMember 当数据源包含多个不同的数据项列表时,获取或设置数据绑定控件绑定到的数据列表的名称。(从 DataBoundControl 继承。)
DataSource 获取或设置对象,数据绑定控件从该对象中检索其数据项列表。(从 BaseDataBoundControl 继承。)
DataSourceID 获取或设置控件的 ID,数据绑定控件从该控件中检索其数据项列表。(从 DataBoundControl 继承。)
DataTextField 获取或设置为列表项提供文本内容的数据源字段。(从 ListControl 继承。)
DataTextFormatString 获取或设置格式化字符串,该字符串用来控制如何显示绑定到列表控件的数据。(从 ListControl 继承。)
DataValueField 获取或设置为各列表项提供值的数据源字段。(从 ListControl 继承。)
Items 获取列表控件项的集合。(从 ListControl 继承。)
SelectedIndex 已重写。获取或设置 DropDownList 控件中的选定项的索引。
SelectedItem 获取列表控件中索引最小的选定项。(从 ListControl 继承。如果列表控件只允许一个选项,则使用此属性可获取选定项的各个属性。如果列表控件允许多个选项,则使用此属性可获取列表控件中索引最小的选定项的属性。
)
SelectedValue 获取列表控件中选定项的值,或选择列表控件中包含指定值的项。(从 ListControl 继承。)
Text 获取或设置 ListControl 控件的 SelectedValue 属性。(从 ListControl 继承。)
公共方法:
DataBind 已重载。 将数据源绑定到被调用的服务器控件及其所有子控件。 (从 BaseDataBoundControl 继承。)
FindControl 已重载。 在当前的命名容器中搜索指定的服务器控件。 (从 Control 继承。)
GetType 获取当前实例的 Type。 (从 Object 继承。)
公共事件
SelectedIndexChanged 当列表控件的选定项在信息发往服务器之间变化时发生。(从 ListControl 继承。)
TextChanged 当 Text 和 SelectedValue 属性更改时发生。(从 ListControl 继承。)
一、在页面初始化时候将集合绑定到DropDownList
public void Page_Load(Object src.EventArgs e)
{
ArrayList arrValue = new ArrayList();
arrValue.add("kk");
arrValue.add("dd");
arrValue.add("aa");
arrValue.add("cc");
//将数组绑定到DropDownList控件的DataSource属性
ddl.DataSource = arrValue;
ddl.DataBind();
}
//实现
选项有:<asp:DropDownList id="ddl" runat="server"/>
二、在页面初始化的时候向DropDownList添加数据public void Page_Load(Object src.EventArgs e)
{
ddl.Items.Add(new ListItem("text","value");
ddl.Items.Add(new ListItem("text1","value1");
ddl.Items.Add(new ListItem("text2","value2");
}
//实现
选项有:<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["bjmc"].ToString(), dr["id"].ToString()));//增加Item
//或者这样也能绑定,
//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();
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对象。
五、使用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,"表字段")