repeater两列合并成一列
比如说
姓名 年龄 课程
张三 12 物理
张三 12 英语
里斯 13 化学
小明 14 英语
这是我从数据库中直接绑定的数据
我希望的效果是
姓名 年龄 课程
张三 12 物理、英语
里斯 13 化学
小明 14 英语
但是我现在课程能合并 但是出现了两条重复的记录
请指教! 谢谢!
[解决办法]
可以考虑下嵌套就可以实现
[解决办法]
SQL写个函数,传进去姓名跟年龄返回课程
[解决办法]
protected void Page_Load(object sender, EventArgs e) { DataTable dt = new DataTable(); dt.Columns.Add("姓名", typeof(string)); dt.Columns.Add("年龄", typeof(string)); dt.Columns.Add("课程", typeof(string)); dt.Rows.Add("张三", "12", "物理"); dt.Rows.Add("张三", "12", "英语"); dt.Rows.Add("李四", "13", "化学"); dt.Rows.Add("王五", "14", "物理"); var results = dt.AsEnumerable().GroupBy(o => o.Field<string>("姓名")) .Select(o => new { 姓名 = o.Key, 年龄 = o.Max(n => n.Field<string>("年龄")), 课程 = string.Join(",", dt.AsEnumerable().Where(p => p.Field<string>("姓名") == o.Key) .Select(s => s.Field<string>("课程")).ToArray()) }).ToList(); foreach (var r in results) { Response.Write(r.姓名); Response.Write(" "); Response.Write(r.年龄); Response.Write(" "); Response.Write(r.课程); Response.Write("<br/>"); } }