你可以定义一个类,这个类里面就是你的字段内容,然后用Group来分组遍历,组成新的数据源就可以了。类似的伪代码。
public class CStudent
{
/// <summary>
/// 班别
/// </summary>
public virtual String ClassType { get; set; }
/// <summary>
/// 人数
/// </summary>
public virtual Int32 Count { get; set; }
/// <summary>
/// 合并项
/// </summary>
public virtual String Merge { get; set; }
}
我只定义了三项,还有一些字段类似这种方法。然后你把读出来的数据填充到List<CStudent>中。
List<CStudent> lst = new List<CStudent>();
//这里就填充数据,如果是从数据库里察出来的DataTable就做个转换
foreach (var obj in lst.GroupBy(a => a.Merge))
{
var count = obj.Sum(a => a.Count); //人数相加
var ctype = String.Join("、", obj.Select(a => a.ClassType).Distinct().ToArray());
//这里把合并计算后的值生成新的数据源, DataTable都行。
}
如果你不想用List泛型,就用DataTable也可以。
温馨提示:答案为网友推荐,仅供参考