DDL小结

  在写代码的时候,遇到dropdownlist控件的时候,由于对这个控件不是很了解,常常要走很多弯路,所以我特地总结了一下这个控件的一些用法。

1.控件属性:

常用的有DataSource属性:用于指定填充列表控件的数据源

DataTextField属性:用于指定DataSource中的一个字段,该字段的值对应于列表项的Text属性

DataValueField属性:用于指定DataSource中的一个字段,该字段的值对应于列表项的Value属性

SelectedIndex属性:用于获取下拉列表中选项的索引值。如果未选定任何项,则返回值-1

SelectedItem属性:用于获取列表中的选定项。通过该属性可获得选定项的Text 和Value属性值

SelectedValue属性:用于获取下拉列表中选定项的值

SelectedIndexchanged事件:当用户选择了下拉列表中的任意选项时,都将引发SelectedIndexChanged事件

2.绑定数据的方法:

以下是我从iworkflow代码中找到的demo

 public DataTable BindCarNo()
        {
            StringBuilder sbSql = new StringBuilder();

            sbSql.AppendFormat("select ConfigText0 as CarNo from WFDXMaster where FormID='{0}' and ConfigKey='{1}' union select '' order by ConfigText0", "WF0084", "CarInfoQCMC");

            DataTable dt = new DataTable();

            dt = DBUtility.SqlHelperQSMCWF.GetDataTable(sbSql.ToString());

            return dt;
        }

 public void BindddlCarNo()
        {
            ddlCarNo.DataSource = BindCarNo();
            ddlCarNo.DataTextField = "CarNo";
            ddlCarNo.DataValueField = "CarNo";
            ddlCarNo.DataBind();         
        }


还有一种是在网上看到的方法:将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())
{
DropDownList1.Items.Add( new ListItem( myReader[1].ToString(),myReader[0].ToString() ) );//增加Item
}
dr.Close();
}
}

当然还有一种方法就是直接在界面设计器上面绑定,在写一些小程序或者固定程序的时候也可以用到。


你可能感兴趣的:(DDL小结)