cmdText = string.Format(@"
SELECT ID,SENSOR_ID,SENSOR_LOCATION_DESCRIPTION,SAFETY_FACTOR_TYPE_ID,SAFETY_FACTOR_TYPE_NAME
,TEMPLATEID,CreateDate,CretaUserName,CretaUserID
FROM T_DATA_RPTSTRFACTORSENSOR where TEMPLATEID ={0}
", templateId);
DataTable sensorfactordata = SqlHelper.ExecuteDataSetText(cmdText, null).Tables[0];
//进行分组
var query = from p in sensorfactordata.AsEnumerable()
group p by new { factorid = p.Field<int>("SAFETY_FACTOR_TYPE_ID"), factorname = p.Field<string>("SAFETY_FACTOR_TYPE_NAME") } into m
select new
{
factorid = m.Key.factorid,
factorname = m.Key.factorname
};
List<ReturnAnalysis> anylist = new List<ReturnAnalysis>();
//分组进行循环
foreach (var item in query.AsEnumerable())
{
ReturnAnalysis anyinfo = new ReturnAnalysis();
anyinfo.SAFETY_FACTOR_TYPE_ID = item.factorid;
anyinfo.SAFETY_FACTOR_TYPE_NAME = item.factorname;
//分组后的字段到原始数据进行查询
var GROUPData = sensorfactordata.Select("SAFETY_FACTOR_TYPE_ID ='" + item.factorid + "'").ToList();
List<SensrData> sensrlist = new List<SensrData>();
for (int i = 0; i < GROUPData.Count; i++)
{
SensrData sensrinfo = new SensrData();
sensrinfo.SENSOR_ID = int.Parse(GROUPData[i]["SENSOR_ID"].ToString());
sensrinfo.SENSOR_LOCATION_DESCRIPTION = GROUPData[i]["SENSOR_LOCATION_DESCRIPTION"].ToString();
sensrlist.Add(sensrinfo);
}
anylist.Add(anyinfo);
}