0

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

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

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

这会引发错误。

我知道数据正确通过。我可以插入任何一个,它会显示数据。

4

1 回答 1

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);
于 2014-10-15T19:39:19.893 回答