用linq对datatable进行分组查询并返回datatable

来源:互联网 发布:c语言教学视频百度网盘 编辑:程序博客网 时间:2024/04/30 15:44

DataTable dataTable = new DataTable();
                dataTable.Columns.Add("FDATE");
                dataTable.Columns.Add("FHOUR");
                dataTable.Columns.Add("FALARMCODE");
                dataTable.Columns.Add("FTIMES");
                dataTable.Columns.Add("FEQUNO");
                var query = from dt in AlarmAnalyzeList.AsEnumerable()
                            group dt by new
                            {
                                AlarmDate = dt.Field<string>("AlarmDate"),
                                AlarmHour = dt.Field<string>("AlarmHour"),
                                AlarmCode = dt.Field<string>("AlarmCode"),
                                EquNo = dt.Field<string>("EquNo")
                            }
                                into g
                                select new
                                    {
                                        g.Key.AlarmDate,
                                        g.Key.AlarmHour,
                                        g.Key.AlarmCode,
                                        Times = g.Count(),
                                        g.Key.EquNo
                                    };
                foreach (var item in query)
                {
                    DataRow dr = dataTable.NewRow();
                    dr["FDATE"] = item.AlarmDate;
                    dr["FHOUR"] = item.AlarmHour;
                    dr["FALARMCODE"] = item.AlarmCode;
                    dr["FTIMES"] = item.Times;
                    dr["FEQUNO"] = item.EquNo;
                    AlarmAnalyzeList.Rows.Add(dr);
                }

 

原创粉丝点击