C# linq根據屬性分組,並累加計算


     #region linq 方法1
            List<ChgDtlVo> sumData = tempList.GroupBy(t => new { t.ChgId, t.OdStd, t.BatNo, t.OdAppno }).Select
                (m => new ChgDtlVo()
                {
                    //名稱
                    ChgName = m.First().ChgName,//(t => t.ChgName),
                    //內容(醫囑名稱)
                    OdName = m.Max(t => t.OdName),
                    //葯品規格
                    OdStd = m.Max(t => t.OdStd),
                    //葯品單位
                    RxUnit = m.Max(t => t.RxUnit),
                    //費用數量
                    ChgAmount = m.Sum(t => t.ChgAmount),
                    //葯品單價
                    ChgPrice = m.Max(t => t.ChgPrice),
                    //費用ID
                    ChgId = m.Max(t => t.ChgId),
                    //囑托說明
                    OdEntrust = m.Max(t => t.OdEntrust),
                    //待收金額
                    OdFeeSum = m.Sum(t => t.OdFeeSum),
                    //效期
                    DgPov = m.Max(t => t.DgPov),
                    //可退數量
                    OdAccwdrlCnt = m.Sum(t => t.OdAccwdrlCnt),
                    //實退數量
                    OdWdrlCnt = m.Max(t => t.OdWdrlCnt),
                    //庫存數
                    DesAmt = m.Max(t => t.DesAmt),
                    //庫存貨位
                    DesLoc = m.Max(t => t.DesLoc),
                    //批號
                    BatNo = m.Max(t => t.BatNo),
                    //發葯人
                    SenderName = m.Max(t => t.SenderName),
                    //發葯時間
                    SenderDt = m.Max(t => t.SenderDt),
                    OdAppno= m.Max(t => t.OdAppno)
                }).ToList();
            dgvSummarySheet.DataSource = sumData;
            #endregion

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM