我从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);
抛出错误。
我知道数据是正确的。我可以插入,它将显示数据。
答案 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);