当前位置: 首页>>代码示例>>C#>>正文


C# Table.MergeCells方法代码示例

本文整理汇总了C#中Table.MergeCells方法的典型用法代码示例。如果您正苦于以下问题:C# Table.MergeCells方法的具体用法?C# Table.MergeCells怎么用?C# Table.MergeCells使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Table的用法示例。


在下文中一共展示了Table.MergeCells方法的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: FillCells

        protected override void FillCells(Table table)
        {
            int row = 0;
            DateTime now = DateTime.Now;

            if (data.TileInPanels.Count>0)
            {
                SetTitleAndCap(table, ref row, "Расход плитки Сборной части " + now);
                FillTiles(table,ref row, data.TileInPanels);
            }
            if (data.TileInMonolith.Count > 0)
            {
                if (data.TileInPanels.Count > 0)
                {
                    var mCells = CellRange.Create(table, row, 0, row, table.Columns.Count-1);
                    table.MergeCells(mCells);
                    row++;
                }

                SetTitleAndCap(table,ref row, "Расход плитки Монолитной части " + now);

                var rowHeader = table.Rows[row - 1];
                rowHeader.Borders.Bottom.LineWeight = LwBold;
                rowHeader.Borders.Top.LineWeight = LwBold;

                FillTiles(table,ref row, data.TileInMonolith);
            }
        }
开发者ID:vildar82,项目名称:PanelColorAlbum,代码行数:28,代码来源:TileTable.cs

示例2: GetTable

        public Table GetTable()
        {
            Database db = HostApplicationServices.WorkingDatabase;
             CellRange mCells;
             Table table = new Table();
             table.TableStyle = ToTable.getTableStyle(db);
             // Размер таблицы
             table.SetSize(3, Enum.GetValues(typeof(ColEnum)).Length);
             // Ширина столбцов
             foreach (var item in table.Columns)
             {
            item.Width = 35;
            item.Alignment = CellAlignment.MiddleCenter;
             }
             table.Columns[0].Width = 10;
             table.Rows[1].Height = 15;

             // Заголовки столбцов и название таблицы
             table.Cells[1, (int)ColEnum.RoomNumber].TextString = "№пом.";
             table.Cells[1, (int)ColEnum.RoomName].TextString = "Наименование";
             table.Cells[1, (int)ColEnum.CeilMaterial].TextString = "Потолок";
             table.Cells[1, (int)ColEnum.CeilArea].TextString = "Площадь, м2";
             table.Cells[1, (int)ColEnum.CarniceMaterial].TextString = "Потолочный карниз";
             table.Cells[1, (int)ColEnum.CarniceLenght].TextString = "Длина, п.м.";
             table.Cells[1, (int)ColEnum.WallMaterial].TextString = "Стены";
             table.Cells[1, (int)ColEnum.WallArea].TextString = "Площадь стен, м2";
             table.Cells[1, (int)ColEnum.DeckMaterial].TextString = "Пол";
             table.Cells[1, (int)ColEnum.DeckArea].TextString = "Площадь, м2";
             table.Cells[1, (int)ColEnum.BaseboardMaterial].TextString = "Плинтус";
             table.Cells[1, (int)ColEnum.BaseboardLenght].TextString = "Длина, п.м.";
             table.Cells[1, (int)ColEnum.Description].TextString = "Примечание";

             // Заполнение помещений
             FillRoomsMaterial(table);
             int row = table.Rows.Count - 1;

             // Заполнение итогов
             // одна строка отступа.
             // Объединение строки между помещениями и итогом по матаериалам.
             mCells = CellRange.Create(table, row, 0, row, Enum.GetValues(typeof(ColEnum)).Length - 1);
             table.MergeCells(mCells);
             row++;
             table.InsertRowsAndInherit(row, row-1, 1);
             table.Cells[row, 0].TextString = "Итого материалов в этой квартире";
             table.Cells[row, 0].Alignment = CellAlignment.MiddleCenter;
             row++;
             table.InsertRowsAndInherit(row, 2, 1);
             // заполнение итогов по материалам
             FillTotalMaterials(table,row);

             table.GenerateLayout();
             return table;
        }
开发者ID:vildar82,项目名称:AR_Materials,代码行数:53,代码来源:RoomTable.cs

示例3: FillTotalMaterials

 // заполнение итогов по всем материалам одной конструкции
 private void FillTotalMaterials(Table table, int rowStart)
 {
     CellRange mCells;
      // группировка всех материалов по типу коеструкции
      var maters = _rooms.SelectMany(r => r.Materials).GroupBy(m => m.Construction);
      foreach (var matersSomeConstr in maters)
      {
     // группировка по имени материала
     var materSomeName = matersSomeConstr.GroupBy(m => m.Name, StringComparer.CurrentCultureIgnoreCase);
     int countMaterSome = materSomeName.Count();
     int curRowsToMater = table.Rows.Count - rowStart;
     if (curRowsToMater < countMaterSome)
     {
        table.InsertRowsAndInherit(table.Rows.Count, 2, countMaterSome- curRowsToMater);
     }
     int row = rowStart;
     foreach (var mater in materSomeName)
     {
        if (matersSomeConstr.Key == EnumConstructionType.Undefined) continue;
        mCells = CellRange.Create(table, row, (int)ColEnum.RoomNumber, row, (int)ColEnum.RoomName);
        table.MergeCells(mCells);
        // mater - должен быть всегда один материал.
        var value = mater.Sum(m => m.PresentValue).ToString();
        ColEnum colName;
        ColEnum colValue;
        getColEnumFromConstructionEnum(matersSomeConstr.Key, out colName, out colValue);
        table.Cells[row, (int)colName].TextString = mater.Key;
        table.Cells[row, (int)colValue].TextString = value;
        row++;
     }
      }
 }
开发者ID:vildar82,项目名称:AR_Materials,代码行数:33,代码来源:RoomTable.cs

示例4: FillRoomsMaterial

 // заполнение помещений
 private int FillRoomsMaterial(Table table)
 {
     CellRange mCells;
      int row= table.Rows.Count-1;
      // сортировка помещений по номерам
      var rooms = _rooms.OrderBy(r => r.Owner).ThenBy(n => n.Number);
      foreach (var room in rooms)
      {
     int topRow = row;
     // Секция
     if (row == 2)
     {
        table.Cells[0, 0].TextString = "Расход материалов в квартире " + room.Owner;
     }
     // Наименование помещения
     table.Cells[row, (int)ColEnum.RoomName].TextString = room.Name;
     table.Cells[row, (int)ColEnum.RoomNumber].TextString = room.Number.ToString();
     // Примечание
     table.Cells[row, (int)ColEnum.Description].TextString = room.Description;
     // матариалы в квартире
     foreach (var item in Enum.GetValues(typeof(EnumConstructionType)).Cast<EnumConstructionType>())
     {
        if (item == EnumConstructionType.Undefined) continue;
        FillRowMaterial(table, row, room, item);
     }
     row = table.Rows.Count - 1;
     //Объединение столбцов номера и имени помещения
     if ((row - topRow) > 1)
     {
        mCells = CellRange.Create(table, topRow, (int)ColEnum.RoomNumber, row-1, (int)ColEnum.RoomNumber);
        table.MergeCells(mCells);
        mCells = CellRange.Create(table, topRow, (int)ColEnum.RoomName, row-1, (int)ColEnum.RoomName);
        table.MergeCells(mCells);
     }
      }
      // Итого по помещениям
      mCells = CellRange.Create(table, row, (int)ColEnum.RoomNumber, row, (int)ColEnum.RoomName);
      table.MergeCells(mCells);
      table.Cells[row, (int)ColEnum.RoomNumber].TextString = "Итого";
      // всего материалов по всем помещениям.
      var maters = _rooms.SelectMany(r => r.Materials).Where(m => !string.IsNullOrWhiteSpace(m.Name)).GroupBy(m => m.Construction);
      table.InsertRowsAndInherit(row+1, 2, 1);
      foreach (var item in maters)
      {
     var value = item.Sum(m => m.PresentValue).ToString();
     switch (item.Key)
     {
        case EnumConstructionType.Wall:
           table.Cells[row, (int)ColEnum.WallMaterial].TextString = "Стены, м2";
           table.Cells[row, (int)ColEnum.WallArea].TextString = value;
           break;
        case EnumConstructionType.Deck:
           table.Cells[row, (int)ColEnum.DeckMaterial].TextString = "Пол, м2";
           table.Cells[row, (int)ColEnum.DeckArea].TextString = value;
           break;
        case EnumConstructionType.Ceil:
           table.Cells[row, (int)ColEnum.CeilMaterial].TextString = "Потолок, м2";
           table.Cells[row, (int)ColEnum.CeilArea].TextString = value;
           break;
        case EnumConstructionType.Baseboard:
           table.Cells[row, (int)ColEnum.BaseboardMaterial].TextString = "Плинтус, м.п.";
           table.Cells[row, (int)ColEnum.BaseboardLenght].TextString = value;
           break;
        case EnumConstructionType.Carnice:
           table.Cells[row, (int)ColEnum.CarniceMaterial].TextString = "Карниз, м.п.";
           table.Cells[row, (int)ColEnum.CarniceLenght].TextString = value;
           break;
        case EnumConstructionType.Undefined:
           break;
        default:
           break;
     }
      }
      return row;
 }
开发者ID:vildar82,项目名称:AR_Materials,代码行数:76,代码来源:RoomTable.cs

示例5: FillMaterial

 // заполнение помещений
 private void FillMaterial(Table table)
 {
     int row = table.Rows.Count - 1;
      // Группировка по секциям
      var sections = _rooms.GroupBy(r => r.Ws.Section).OrderBy(s=>s.Key);
      foreach (var section in sections)
      {
     table.InsertRows(row+1, 8, 1);
     _mCells = CellRange.Create(table, row, 0, row, Enum.GetValues(typeof(ColEnum)).Length - 1);
     table.MergeCells(_mCells);
     table.Cells[row, 0].TextString = "Секция " + section.Key;
     row++;
     // Группировка по квартирам
     var apartments = section.GroupBy(r => r.Owner).OrderBy(a=>a.Key);
     foreach (var apartment in apartments)
     {
        int rowApartment = row;
        table.Cells[rowApartment, (int)ColEnum.Apartament].TextString = apartment.Key;
        // сортировка помещений в квартире по номерам
        var rooms = apartment.OrderBy(n => n.Number);
        foreach (var room in rooms)
        {
           FillRoom(table,row, room);
           row = table.Rows.Count - 1;
        }
        if (row-1 > rowApartment)
        {
           _mCells = CellRange.Create(table, rowApartment, (int)ColEnum.Apartament, row-1, (int)ColEnum.Apartament);
           table.MergeCells(_mCells);
        }
     }
      }
 }
开发者ID:vildar82,项目名称:AR_Materials,代码行数:34,代码来源:SectionTable.cs

示例6: FillRoom

 private void FillRoom(Table table, int row, Room room)
 {
     // Наименование помещения
      table.Cells[row, (int)ColEnum.RoomName].TextString = room.Name;
      table.Cells[row, (int)ColEnum.RoomNumber].TextString = room.Number.ToString();
      // Примечание
      table.Cells[row, (int)ColEnum.Description].TextString = room.Description;
      // матариалы в помещении
      foreach (var item in Enum.GetValues(typeof(EnumConstructionType)).Cast<EnumConstructionType>())
      {
     if (item == EnumConstructionType.Undefined) continue;
     FillRowMaterial(table, row, room, item);
      }
      if ((table.Rows.Count - 2) > row)
      {
     _mCells = CellRange.Create(table, row, (int)ColEnum.RoomName, table.Rows.Count - 2, (int)ColEnum.RoomName);
     table.MergeCells(_mCells);
     _mCells = CellRange.Create(table, row, (int)ColEnum.RoomNumber, table.Rows.Count - 2, (int)ColEnum.RoomNumber);
     table.MergeCells(_mCells);
      }
 }
开发者ID:vildar82,项目名称:AR_Materials,代码行数:21,代码来源:SectionTable.cs

示例7: SetTitleAndCap

 private void SetTitleAndCap(Table table,ref int row, string title)
 {
     var cell = table.Cells[row,0];
     if (cell.IsMerged == null || !cell.IsMerged.Value)
     {
         var mCells = CellRange.Create(table, row, 0, row , table.Columns.Count-1);
         table.MergeCells(mCells);
     }
     cell.TextString = title;
     row++;
     table.Rows[row].Height = 15;
     // столбец Поз.
     cell = table.Cells[row, 0];
     cell.TextString = "Поз.";
     // столбец Артикул
     cell = table.Cells[row, 1];
     cell.TextString = "Артикул";
     cell.Alignment = CellAlignment.MiddleCenter;
     // столбец Образец
     cell = table.Cells[row, 2];
     cell.TextString = "Образец";
     // столбец Расход, шт.
     cell = table.Cells[row, 3];
     cell.TextString = "Расход, шт.";
     // столбец Расход, м.кв.
     cell = table.Cells[row, 4];
     cell.TextString = "Расход, м.кв.";
     // столбец Цвет
     cell = table.Cells[row, 5];
     cell.TextString = "Цвет";
     cell.Alignment = CellAlignment.MiddleCenter;
     row++;
 }
开发者ID:vildar82,项目名称:PanelColorAlbum,代码行数:33,代码来源:TileTable.cs

示例8: FillTiles

        private void FillTiles(Table table,ref int row, List<IGrouping<Tile, Tile>> tiles)
        {
            Cell cell;
            CellRange mCells;
            int index = 1;
            int totalCount = 0;
            double totalArea =0;

            foreach (var tile in tiles)
            {
                cell = table.Cells[row, 0];
                cell.TextString = index++.ToString();

                cell = table.Cells[row, 1];
                cell.TextString = tile.Key.Article;

                cell = table.Cells[row, 2];
                cell.BackgroundColor = tile.Key.Color;

                int count = tile.Count();
                totalCount += count;
                cell = table.Cells[row, 3];
                cell.TextString = count.ToString();

                cell = table.Cells[row, 4];
                var area = Math.Round(count * Panels.TileCalc.OneTileArea, 2);
                totalArea += area;
                cell.TextString = area.ToString("0.00");

                cell = table.Cells[row, 5];
                cell.TextString = tile.Key.NCS;

                row++;
            }

            var rowHeader = table.Rows[row];
            rowHeader.Borders.Top.LineWeight = LwBold;
            rowHeader.Borders.Bottom.LineWeight = LwBold;

            mCells = CellRange.Create(table, row, 0, row, 2);
            table.MergeCells(mCells);
            cell = table.Cells[row, 0];
            cell.TextString = "Итого:";
            cell.Alignment = CellAlignment.MiddleCenter;

            cell = table.Cells[row, 3];
            cell.TextString = totalCount.ToString();
            cell = table.Cells[row, 4];
            cell.TextString = totalArea.ToString();

            row++;
        }
开发者ID:vildar82,项目名称:PanelColorAlbum,代码行数:52,代码来源:TileTable.cs

示例9: getTable

        private Table getTable(Database db)
        {
            Table table = new Table();
            table.SetDatabaseDefaults(db);
            table.TableStyle = db.GetTableStylePIK(); //getTableStyle(db);

            bool hasColorName = Paint.HasColorName(_album.Colors);
            int numColumns = hasColorName? 6:5;

            table.SetSize(_album.Colors.Count + 3, numColumns);
            table.Columns[0].Width = 10; // Поз
            table.Columns[1].Width = 20; // Артикул
            table.Columns[2].Width = 20; // Образец
            table.Columns[3].Width = 20; // Расход шт
            table.Columns[4].Width = 20; // Расход м.кв.
            if (hasColorName)
            {
                table.Columns[5].Width = 30; // Цвет
                table.Cells[1, 5].TextString = "Цвет";
            }

            table.Columns[0].Alignment = CellAlignment.MiddleCenter;
            table.Columns[3].Alignment = CellAlignment.MiddleCenter;
            table.Columns[4].Alignment = CellAlignment.MiddleCenter;

            table.Rows[1].Height = 15;

            table.Cells[0, 0].TextString = "Расход плитки на альбом " + _album.StartOptions.Abbr + " от " + _album.Date;
            table.Cells[1, 0].TextString = "Поз.";
            table.Cells[1, 1].TextString = "Артикул";
            table.Cells[1, 2].TextString = "Образец";
            table.Cells[1, 3].TextString = "Расход, шт.";
            table.Cells[1, 4].TextString = "Расход, м.кв.";

            int row = 2;
            int i = 1;
            int totalCountTile = 0;
            double totalArea = 0;

            foreach (var tileCalcSameColor in _album.TotalTilesCalc)
            {
                table.Cells[row, 0].TextString = i++.ToString(); //"Поз.";
                table.Cells[row, 1].TextString = tileCalcSameColor.Paint.Article;  //"Артикул";
                table.Cells[row, 2].BackgroundColor = tileCalcSameColor.Paint.Color;  // "Образец";
                table.Cells[row, 3].TextString = tileCalcSameColor.Count.ToString();// "Расход, шт.";
                table.Cells[row, 4].TextString = tileCalcSameColor.TotalArea.ToString();  // "Расход, м.кв.";
                if (hasColorName)
                {
                    table.Cells[row, 5].TextString = tileCalcSameColor.Paint.Name;  //"Цвет";
                }

                totalCountTile += tileCalcSameColor.Count;
                totalArea += tileCalcSameColor.TotalArea;

                row++;
            }
            var mCells = CellRange.Create(table, row, 0, row, 2);
            table.MergeCells(mCells);
            table.Cells[row, 0].TextString = "Итого:";
            table.Cells[row, 3].TextString = totalCountTile.ToString();
            table.Cells[row, 4].TextString = totalArea.ToString();

            table.GenerateLayout();
            return table;
        }
开发者ID:vildar82,项目名称:PanelColorAlbum,代码行数:65,代码来源:TotalTileTable.cs

示例10: getTable

        private Table getTable()
        {
            Table table = new Table();
            table.SetDatabaseDefaults(db);
            table.TableStyle = db.GetTableStylePIK(true); // если нет стиля ПИк в этом чертеже, то он скопируетс из шаблона, если он найдется
            // Измпнение отступа в стилше ПИК на 1
            UpdateTableStyle(table.TableStyle);

            bool hasTotalRow = (condRows.Count > 1);
            int rows = hasTotalRow ? condRows.Count + 3 : condRows.Count + 2;

            table.SetSize(rows, 5);

            table.SetRowHeight(8);

            // Название таблицы
            var rowTitle = table.Cells[0, 0];
            rowTitle.Alignment = CellAlignment.MiddleCenter;
            rowTitle.TextString = "Спецификация на наружное ограждение блока кондиционера";

            // столбец Марка
            var col = table.Columns[0];
            col.Alignment = CellAlignment.MiddleCenter;
            col.Width = 10;
            // столбец Цвет.
            col = table.Columns[1];
            col.Alignment = CellAlignment.MiddleLeft;
            col.Width = 35;
            // столбец Образец
            col = table.Columns[2];
            col.Alignment = CellAlignment.MiddleCenter;
            col.Width = 20;
            // столбец Кол
            col = table.Columns[3];
            col.Alignment = CellAlignment.MiddleCenter;
            col.Width = 20;
            // столбец Прим
            col = table.Columns[4];
            col.Alignment = CellAlignment.MiddleCenter;
            col.Width = hasTotalRow? 40 : 60;

            // Заголовок Маркв
            var cellColName = table.Cells[1, 0];
            cellColName.TextString = "Марка";
            //cellColName.Alignment = CellAlignment.MiddleCenter;
            // Заголовок Цвет
            cellColName = table.Cells[1, 1];
            cellColName.TextString = "Цвет";
            cellColName.Alignment = CellAlignment.MiddleCenter;
            // Заголовок Образец
            cellColName = table.Cells[1, 2];
            cellColName.TextString = "Образец";
            //cellColName.Alignment = CellAlignment.MiddleCenter;
            // Заголовок Кол
            cellColName = table.Cells[1, 3];
            cellColName.TextString = "Кол-во, шт.";
            //cellColName.Alignment = CellAlignment.MiddleCenter;
            // Заголовок прим
            cellColName = table.Cells[1, 4];
            cellColName.TextString = "Примечание";
            //cellColName.Alignment = CellAlignment.MiddleCenter;

            // Строка заголовков столбцов
            var rowHeaders = table.Rows[1];
            rowHeaders.Height = 15;
            var lwBold = rowHeaders.Borders.Top.LineWeight;
            rowHeaders.Borders.Bottom.LineWeight = lwBold;

            int row = 2;
            foreach (var itemRow in condRows)
            {
                table.Cells[row, 0].TextString = itemRow.Mark.ToString();
                table.Cells[row, 1].TextString = itemRow.ColorName;
                table.Cells[row, 2].BackgroundColor = itemRow.Color;
                table.Cells[row, 3].TextString = itemRow.Count.ToString();
                row++;
            }

            // Объединение итого
            if (hasTotalRow)
            {
                table.MergeCells(CellRange.Create(table, row, 0, row, 2));
                table.Cells[row, 0].TextString = "Итого на фасад";
                table.Cells[row, 3].TextString = condRows.Sum(c => c.Count).ToString();

                // Объединение примечания
                table.MergeCells(CellRange.Create(table, 2, 4, row, 4));
                table.Rows[row].Borders.Top.LineWeight = lwBold;
            }

            table.Cells[2, 4].TextString = "Стальной перфорированный лист, окрашенный порошковой эмалью в цвет по таблице.";

            var lastRow = table.Rows.Last();
            lastRow.Borders.Bottom.LineWeight = lwBold;

            table.GenerateLayout();
            return table;
        }
开发者ID:vildar82,项目名称:PanelColorAlbum,代码行数:98,代码来源:AirCondTable.cs


注:本文中的Table.MergeCells方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。