示例#1
0
        public void AddRow(BomData bomData)
        {
            int start = bomData.Level * 3;

            // int tempRow = CurRow - bomData.Level;
            bomData.row   = CurRow;
            bomData.colum = start + 1;
            slDocument.SetCellValue(CurRow, start + 1, bomData.Bom.Name);
            slDocument.SetCellValue(CurRow, start + 2, bomData.Bom.ID);
            slDocument.SetCellValue(CurRow, start + 3, bomData.Bom.Node);
        }
示例#2
0
        private void SetReportBOM(ReportData rd, BOM bom, int level = 0)
        {
            BomData bd = new BomData();

            bd.Level = level;
            bd.Bom   = bom;
            rd.BomData.Add(bd);
            foreach (var sitem in bom.Son)
            {
                SetReportBOM(rd, sitem, level + 1);
            }
        }
示例#3
0
        private void CreateReportBOM(BOM bom, int level)
        {
            Stact.Add(bom);
            BomData bd = new BomData();

            bd.Level = level;
            bd.Bom   = bom;
            AddRow(bd);
            for (int i = 0; i < bom.Son.Count; i++)
            {
                if (i != 0)
                {
                    CurRow++;
                }
                CreateReportBOM(bom.Son[i], level + 1);
            }
            slDocument.MergeWorksheetCells(bd.row, bd.colum, CurRow, bd.colum);
            slDocument.MergeWorksheetCells(bd.row, bd.colum + 1, CurRow, bd.colum + 1);
            slDocument.MergeWorksheetCells(bd.row, bd.colum + 2, CurRow, bd.colum + 2);
        }