后一种方法的缺点在于创建新列的开销。不过这种方法条理比较清楚,而且不会产生重复数据的可能,建议使用这种方法。
为了说明这两种方法,下面的代码将两种方法放在一起实现了:
| // 在此处放置用户代码以初始化页面 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(); * / |