DataTable合并相同行并计数
这几天做项目,遇到了这样一个问题,通过工作时间去查找去查找工人的工作记录,计算出每个工人的有效过做次数。通过时间作为参数传入D层后,每一次有效的工作作为一次记录。所以要对返回的DataTable加工,并计算相同行出现的次数。
DataTable dt = new DataTable(); dt = DAL.Date(); //设置新的Datatable DataTable dtResult = new DataTable(); dtResult.Columns.Add("ID",typeof(string)); dtResult.Columns.Add("Name",typeof(string)); //第一层for循环起始 int intIndex=0; //计数 int intNumber; DataRow dr = dtResult.NewRow(); //统计查验员查验数量,将dt中相同行合并,计数 for (int i = 0; i < dt.Rows.Count; i++) { if (i>=intIndex) { //每个查验员的查验数量 intNumber = 1; for (int j = i+1; j < dt.Rows.Count; j++) { //判断是否是相同列 if (dt.Rows[i]["ckrUserID"].ToString() == dt.Rows[j]["ckrUserID"].ToString()) { //相同列,查验数量加一 intIndex = intIndex + 1; intNumber = intNumber + 1; } else { dr["ID"] = dt.Rows[i]["ckrUserID"]; dr["Name"] = dt.Rows[i]["wifName"]; dr["Number"] = intNumber; dtResult.Rows.Add(dr); break; } } } }
- 1楼sunqing0316昨天 20:27
- 顶一个!再接再厉!