CheckBoxList控件地DataTextField属性怎 样绑定多个字段?
DataTextField="theName" 那再加一个 theSex怎 样增加?
Asp.net 3.5 C#
最佳答案:
通常支持数据绑定地web控件,例如dorpdownlist控件、checkboxlist控件等,都包含五个属性:datasource、datamember,datatextfield、datavaluefield和datatextformatstring。datasource用于获取数据源,亦即获取包含数据地汇合;其她四个属性用于获取数据源中地一个字段值。但是,通常状况下,您想将这些数据源中地多个字段值绑定在一同赋值给其中地一个属性,这是不能直接完成地
以上限制在于不能将多个字段值绑定在一同,赋值给这四个属性中地其中一个;但是SQL语句却完全没有这种限制。所以,俺们地第一个方法是使用SQL语句将源表中地两个或多个字段值绑定在一同,使用AS子句传递给另一个字段,这样就完成啦一个字段包含多个字段值。因为如今一个字段就包含啦多个字段地值,俺们将其赋值给web控件地那四个属性时就不用有更多地考虑啦。俺们能够参考下面地语句看看这种方法地妙处:
strCmd="SELECT employeeid,lastName +','+firstName AS 'EmployeeName' FROM Employees";
这种方法十分简明,也是最直接地一种方法,不过存在着效率不足地情况,而且有能够会产生重复数据。下面俺们介绍另一种方法,俺们能够将源表填充到一个数据集DataSet中,然后将数据集地数据放置到一个数据表DataTable中,然后给该表创建一个新列,该列由源表中地两个或多个字段构成,这样俺们也完成啦多个字段值地绑定
dt.Columns.Add(“EmployeeName”,typeod(String),”lastName+’,’+firstName”);
后一种方法地毛病在于创建新列地开销。不过这种方法条理比较分明,而且不会产生重复数据地能够,倡议使用这种方法。
为啦说明这两种方法,下面地代码将两种方法放在一同完成啦:
// 在此处放置用户代码以初始化页面
string strConn,strCmd;
strConn="DATABASE=NorthWind;SERVER=localhost;UID=sa;PWD=99133009;";
//假如既需要将firstName和LastName绑定,又需要单独使用她们,下面地语句就会产生重复数据。
strCmd="SELECT employeeid,firstName,lastName,lastName +','+firstName AS 'EmployeeName' FROM Employees";
SqlDataAdapter dsda=new SqlDataAdapter(strCmd,strConn);
DataSet ds=new DataSet();
dsda.Fill(ds,"EmployeeList");
DataTable dt=ds.Tables["EmployeeList"];
//第一种方法
//DDL1是一个DropDownList控件
DDL1.DataSource=dt.DefaultView;
DDL1.DataTextField="EmployeeName";
DDL1.DataValueField="employeeid";
DDL1.DataBind();
/*第二种方法
dt.Columns.Add("EmployeeName",typeod(String),"lastName+','+firstName");
DDL1.DataTextField="EmployeeName";
DDL1.DataBind();