您的位置:首页 > 运维架构

DropDownList控件的数据绑定

2013-10-19 10:11 447 查看
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添加数据[b](人工绑定)
[/b]

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[b](数据库绑定)
[/b]     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,"表字段")输出绑定数据[b](数据库绑定)[/b]

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

 

 

 

 

 



 


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐