使用后面的代码在boundfield中的多个数据字段

时间:2014-10-15 19:05:13

标签: c# asp.net code-behind boundfield

我从SQL表中提取名字和姓氏,通过数据表运行它并将datable绑定到gridview。我希望将名字和姓氏放在同一列中,而不是在gridview中有两个不同的列。数据库具有" FirstName"和"姓氏"变量。我可以使用eval函数在aspx文件中执行此操作,但是我想在Codebehind文件中处理它。

我关闭了AutoGenerateColumns,我创建了一个BoundField。我可以将FirstName添加到bfield.Datafield中,它会吐出第一个名字。或相反亦然。如何在代码隐藏中的同一边界中添加BOTH FirstName和LastName?

 BoundField bfield = new BoundField();
 bfield.HeaderText = "Name";
 bfield.DataField = "FirstName" + " " + "LastName";
 gridview_viewPSC.Columns.Add(bfield);

抛出错误。

我知道数据是正确的。我可以插入,它将显示数据。

1 个答案:

答案 0 :(得分:0)

仅供参考,答案是在 DataTable 加载了您的数据之后,创建一个新的 DataColumn 。在我的例子中,dt加载了列“FirstName”和“LastName”。

DataTable dt = new DataTable();
dt.Load(cmd.ExecuteReader());

DataColumn dcFullName = new DataColumn("FullName");
dcFullName.Expression = string.Format("{0}+' '+{1}", "FirstName", "LastName");
dt.Columns.Add(dcFullName);

gridview_viewPSC.DataSource =  dt;

然后在你的BoundField

BoundField bfield = new BoundField();
bfield.HeaderText = "Name";
bfield.DataField = "FullName";
gridview_viewPSC.Columns.Add(bfield);