使用codeehind的边界字段中的多个数据字段

本文关键字:字段 数据 边界 使用 codeehind | 更新日期: 2023-09-27 18:26:49

我从SQL表中提取名字和姓氏,通过数据表运行它,并将数据表绑定到网格视图。我不想在网格视图中有两个不同的列,而是想把名字和姓氏放在同一列中。数据表具有"FirstName"answers"LastName"变量。我可以在aspx文件中使用eval函数来实现这一点,但我希望在Codebehin文件中处理它。

我关闭了"自动生成列",创建了一个BoundField。我可以将FirstName添加到bfield。数据字段,它将吐出第一个名称。反之亦然。如何将FirstName和LastName添加到代码绑定中的同一个Boundfield?

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

这引发了一个错误。

我知道数据是正确的。我可以插入其中一个,它会显示数据。

使用codeehind的边界字段中的多个数据字段

仅供参考,答案是在DataTable加载数据后,创建一个新的DataColumn。在我的示例中,dt加载了列"FirstName"answers"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);