
PRivatevoidbtnLinqTest__Click(objectsender,EventArgse){DataTablevtblSeqBase=this.DM.bdsSingle._mpDataTable;//1.GroupBy统计varquery=fromqinvtblSeqBase.AsEnumerable()groupqbyq.Field<string>("MachineType")intorselectnew{_qMachType=r.Key,_qCount=r.Count()};using(DataTablevtblCount=newDataTable()){DataRowvNewRow=null;vtblCount.Columns.Add("MachType",typeof(string));vtblCount.Columns.Add("Count",typeof(int));foreach(varvqinquery){vNewRow=vtblCount.NewRow();vNewRow["MachType"]=vq._qMachType;vNewRow["Count"]=vq._qCount;vtblCount.Rows.Add(vNewRow);}//vtblCount.mmViewForRD();}//2.Distinct用法XXXTestOk2011-07-18vard=(fromDataRowvRowinvtblSeqBase.Rowsselectnew{_MachType=vRow["MachineType"]}).Distinct();using(DataTablevtblDistinct=newDataTable()){DataRowvNewRow=null;vtblDistinct.Columns.Add("MachType",typeof(string));vtblDistinct.Columns.Add("Count",typeof(int));foreach(varqind){vNewRow=vtblDistinct.NewRow();vNewRow["MachType"]=q._MachType;vtblDistinct.Rows.Add(vNewRow);}//vtblDistinct.mmViewForRD();}//DataTableExtensions.CopyToDataTable//3.List<int>vListNum=newList<int>{21,46,46,55,17,21,55,55};IEnumerable<int>vDistNum=vListNum.Distinct();foreach(intninvDistNum){//MessageBox.Show("不重复的数值="+n.ToString());}//4.GroupBy一个字段varquerySum=fromqinvtblSeqBase.AsEnumerable()groupqbyq.Field<string>("MachineType")intogselectnew{_qMachType=g.Key,_qSamTotal=g.Sum(q=>q.Field<decimal>("SamValue"))};using(DataTablevtblSAMTotal=newDataTable()){DataRowvNewRow=null;vtblSAMTotal.Columns.Add("MachType",typeof(string));vtblSAMTotal.Columns.Add("SAMTotal",typeof(decimal));foreach(varvqinquerySum){vNewRow=vtblSAMTotal.NewRow();vNewRow["MachType"]=vq._qMachType;vNewRow["SAMTotal"]=vq._qSamTotal;vtblSAMTotal.Rows.Add(vNewRow);}//vtblSAMTotal.mmViewForRD();}//5.GroupBy多个字段GBN=GroupByNFieldvarqueryGBN=fromqinvtblSeqBase.AsEnumerable()groupqbynew{机器代码=q.Field<string>("MachineType"),工序代码=q.Field<string>("SeqCode")}intogselectnew{_qMachType=g.Key,_qSamTotal=g.Sum(q=>q.Field<decimal>("SamValue")),_qSamAvg=g.Average(q=>q.Field<decimal>("SamValue"))};using(DataTablevtblSAMTotal=newDataTable()){DataRowvNewRow=null;vtblSAMTotal.Columns.Add("MachType",typeof(string));vtblSAMTotal.Columns.Add("SeqCode",typeof(string));vtblSAMTotal.Columns.Add("SAMTotal",typeof(decimal));vtblSAMTotal.Columns.Add("SAMAvg",typeof(decimal));foreach(varvqinqueryGBN){vNewRow=vtblSAMTotal.NewRow();vNewRow["MachType"]=vq._qMachType;vNewRow["SeqCode"]=vq._qMachType;vNewRow["SAMTotal"]=vq._qSamTotal;vNewRow["SAMAvg"]=vq._qSamAvg;vtblSAMTotal.Rows.Add(vNewRow);}vtblSAMTotal.mmViewForRD();}}
新闻热点
疑难解答