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


C# Table.GenerateLayout方法代码示例

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


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

示例1: GetTable

        public Table GetTable()
        {
            Database db = HostApplicationServices.WorkingDatabase;
             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;
             }
             table.Rows[0].Height = 15;
             table.Columns[0].Width = 10; // столбец типа квартиры
             table.Columns[1].Width = 10; // столбец номера помещения

             // Заголовки столбцов и название таблицы
             table.Cells[0, 0].TextString = "Ведомость отделки помещений";
             table.Cells[1, (int)ColEnum.Apartament].TextString = "Тип кв.";
             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 = "Примечание";

             // Заполнение помещений
             FillMaterial(table);

             foreach (var item in table.Columns)
             {
            item.Alignment = CellAlignment.MiddleCenter;
             }

             table.GenerateLayout();
             return table;
        }
开发者ID:vildar82,项目名称:AR_Materials,代码行数:44,代码来源:SectionTable.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: getTable

      private Table getTable()
      {
         Table table = new Table();
         table.SetDatabaseDefaults(Doc.Database);
         table.TableStyle = Doc.Database.GetTableStylePIK(); // если нет стиля ПИк в этом чертеже, то он скопируетс из шаблона, если он найдется
         if (!string.IsNullOrEmpty(SpecOptions.TableOptions.Layer))
         {
            table.LayerId = AcadLib.Layers.LayerExt.GetLayerOrCreateNew(new AcadLib.Layers.LayerInfo(SpecOptions.TableOptions.Layer));
         }         

         int rows = 2 + Groups.Count + Groups.Sum(g => g.Records.Count);
         table.SetSize(rows, SpecOptions.TableOptions.Columns.Count);

         for (int i = 0; i < table.Columns.Count; i++)
         {
            var specCol = SpecOptions.TableOptions.Columns[i];
            var col = table.Columns[i];
            col.Alignment = specCol.Aligment;
            col.Width = specCol.Width;
            col.Name = specCol.Name;

            var cellColName = table.Cells[1, i];
            cellColName.TextString = specCol.Name;
            cellColName.Alignment = CellAlignment.MiddleCenter;
         }

         // Название таблицы
         var rowTitle = table.Cells[0, 0];
         rowTitle.Alignment = CellAlignment.MiddleCenter;
         rowTitle.TextHeight = 5;
         rowTitle.TextString = SpecOptions.TableOptions.Title;

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

         int row = 2;
         foreach (var group in Groups)
         {
            string groupName = group.Name;
            if (string.IsNullOrEmpty(group.Name))
            {
               if (Groups.Count == 1)
               {
                  // Если кол групп = 1, и она пустая, то удаление строки группы
                  table.DeleteRows(row, 1);
                  row--;               
               }
               else
               {
                  // Если кол групп > 1, и она пустая, то название для пустой группы - Разное
                  groupName = "Разное";
               }               
            }
            else
            {
               table.Cells[row, 2].TextString = "{0}{1}{2}".f("{\\L", groupName, "}");
               table.Cells[row, 2].Alignment = CellAlignment.MiddleCenter;
            }            

            row++;
            foreach (var rec in group.Records)
            {
               for (int i = 0; i < table.Columns.Count; i++)
               {
                  var colVal = rec.ColumnsValue[i];
                  table.Cells[row, i].TextString = colVal.Value;
               }
               row++;
            }
         }
         var lastRow = table.Rows.Last();
         lastRow.Borders.Bottom.LineWeight = lwBold;

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

示例4: CreateTable

        /// <summary>
        /// Метод создания проприетаной таблицы Автокада
        /// </summary>
        /// <param name="source"></param>
        /// <param name="TextSource"></param>
        public void CreateTable(List<DwgLine> source, List<TableText> TextSource)
        {
            Table AcadTable = new Table();
                Point3d p3d = new Point3d(1.8, 2.2, 0.2);
                List<DwgLine> hLines = new List<DwgLine>();
                List<DwgLine> vLines = new List<DwgLine>();

                foreach (DwgLine item in source)
                {
                    if ((int)item.Y1 == (int)item.Y2)
                    {
                        hLines.Add(new DwgLine((int)item.X1, (int)item.Y1, (int)item.X2, (int)item.Y2));
                    }
                    else if ((int)item.X1 == (int)item.X2)
                    {
                        vLines.Add(new DwgLine((int)item.X1, (int)item.Y1, (int)item.X2, (int)item.Y2));
                    }
                }
                AcadTable.SetSize((hLines.Count - 1), (vLines.Count - 1));
                List<DwgLine> SortedhLines = hLines;

                    //Блок сортировки списков hLines(по убыванию) и vLines(по возрастанию)
                hLines.Sort(delegate(DwgLine l1, DwgLine l2)
                { return l1.Y1.CompareTo(l2.Y1); });
                vLines.Sort( delegate (DwgLine l1, DwgLine l2)
                {return l1.X1.CompareTo(l2.X1); });
                hLines.Reverse();
                //нахождение точки привязки исходной таблицы
                p3d = new Point3d(vLines[0].X1, vLines[0].Y1, 0);

                for (int i = 0; i < hLines.Count - 1; i++)
                {
                    AcadTable.Rows[i].Height = (double)(hLines[i].Y1 - hLines[i + 1].Y1);
                }
                for (int i = 0; i < vLines.Count - 1; i++)
                {
                    AcadTable.Columns[i].Width = vLines[i + 1].X1 - vLines[i] .X1;
                }
                AcadTable.Position = p3d;
                AcadTable.GenerateLayout();

                Table tbl = CheckPoint(AcadTable, TextSource, p3d); //вызов метода CheckPoint возвращает таблицу
               ConvertToArps(tbl); //вызов метода формирования файла выгрузки

                //блок перерисовки таблицы в заданной точке. НЕ УДАЛЯТЬ КОД
               using (Transaction tr = dwg.TransactionManager.StartTransaction())
                {
                    BlockTable bt = (BlockTable)tr.GetObject(dwg.Database.BlockTableId, OpenMode.ForRead);
                    BlockTableRecord btr = (BlockTableRecord)tr.GetObject(bt[BlockTableRecord.ModelSpace], OpenMode.ForWrite);
                    btr.AppendEntity(AcadTable);
                    tr.AddNewlyCreatedDBObject(AcadTable, true);
                    tr.Commit();

                }
        }
开发者ID:TheBlackLynx,项目名称:Helloworld,代码行数:60,代码来源:Program.cs

示例5: ImportToCad


//.........这里部分代码省略.........
                        System.Windows.Forms.DialogResult dr = ofd.ShowDialog();
                        if (dr == System.Windows.Forms.DialogResult.OK)
                        {
                            ed.WriteMessage("\nFile selected was \"{0}\".", ofd.Filename);

                            System.IO.StreamReader sr = new System.IO.StreamReader(ofd.Filename, true);

                            // ignore the first three rows
                            sr.ReadLine();
                            sr.ReadLine();
                            sr.ReadLine();
                            string[] headers = sr.ReadLine().Split(',');

                            // creating a table and setting the style
                            Table tb = new Table();
                            tb.TableStyle = tb.TableStyle;

                            // inserting columns and setting row height
                            tb.InsertColumns(1, 10, 2);
                            tb.InsertRows(1, 10, 1);
                            tb.Rows[0].Height = 10;
                            for (int i = 0; i < 3; i++)
                            {
                                tb.Columns[i].Width = 45;
                            }

                            //// set up header
                            //tb.Cells[0, -1].Style = "Header";
                            //tb.Cells[1, -1].Style = "Title";

                            // add the contents of the title cell
                            Cell tc = tb.Cells[0, 0];
                            tc.Contents.Add();
                            tc.Contents[0].TextHeight = 5;
                            tc.Contents[0].TextString = "Well Locations";

                            for (int i = 0; i < 3; i++)
                            {
                                Cell c = tb.Cells[1, i];
                                c.Contents.Add();
                                c.Contents[0].TextHeight = 5;
                                c.Contents[0].TextString = headers[i];
                            }

                            //  add the rest of the contents into the table
                            while (!sr.EndOfStream)
                            {
                                string[] rows = sr.ReadLine().Split(',');
                                int currentRowNumber = tb.Rows.Count;
                                int rowNumberToBeAdded = currentRowNumber + 1;
                                tb.InsertRows(currentRowNumber, 10, 1);

                                for (int i = 0; i < 3; i++)
                                {
                                    Cell addingInfo = tb.Cells[currentRowNumber, i];
                                    addingInfo.Contents.Add();
                                    addingInfo.Contents[0].TextHeight = 5;

                                    if (i <2)
                                    {
                                        double wellLocation = 0;
                                        bool didParseSucceed = double.TryParse(rows[i], out wellLocation);

                                        if (!didParseSucceed)
                                        {
                                            System.Windows.Forms.MessageBox.Show("Error: could not convert one of the numbers into a double. The location data is corrupted for well " + rows[2]);
                                        }
                                        if (wellLocation == 0)
                                        {
                                            System.Windows.Forms.MessageBox.Show("Warning: Well Location is at 0 for this well. It may be because we failed to convert a string to a double propertly. Please double check that the CSV file does indeed contain a zero location at this well: " + rows[2]);
                                        }

                                        addingInfo.Contents[0].TextString = string.Format("{0:f3}", wellLocation);
                                    }
                                    else
                                    {
                                        addingInfo.Contents[0].TextString = rows[i];
                                    }

                                }
                            }

                            PromptPointResult pr = ed.GetPoint("Please click where you want the table to go.");
                            if (pr.Status == PromptStatus.OK)
                            {
                                tb.Position = pr.Value;

                                tb.GenerateLayout();

                                btrModelSpace.AppendEntity(tb);
                                tr.AddNewlyCreatedDBObject(tb, true);

                                // System.Windows.Forms.MessageBox.Show("Please check that the first and last records are here. Cross check with the CSV file.");
                            }
                        }
                    }
                    tr.Commit();
                }
            }
        }
开发者ID:BKSpurgeon,项目名称:BensAcadGenUtils,代码行数:101,代码来源:CSVImporter.cs

示例6: 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

示例7: 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

示例8: GetTable

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

            int rows = changePanels.Count + 2;
            table.SetSize(rows, 4);
            table.SetBorders(LineWeight.LineWeight050);

            // Название таблицы
            var rowTitle = table.Cells[0, 0];
            rowTitle.Alignment = CellAlignment.MiddleCenter;
            rowTitle.TextString = "Изменение марок покраски. " + DateTime.Now;

            // столбец 1
            var col = table.Columns[0];
            col.Width = 10;
            col.Alignment = CellAlignment.MiddleCenter;

            // столбец 1
            col = table.Columns[1];
            col.Width = 50;

            // столбец 2
            col = table.Columns[2];
            col.Width = 50;

            // столбец 3
            col = table.Columns[3];
            col.Width = 50;

            // Заголовок 1
            var cellColName = table.Cells[1, 0];
            cellColName.TextString = "№пп";
            // Заголовок 2
            cellColName = table.Cells[1, 1];
            cellColName.TextString = "Марка панели";
            // Заголовок 3
            cellColName = table.Cells[1, 2];
            cellColName.TextString = "Новая марка покраски";
            // Заголовок 4
            cellColName = table.Cells[1, 3];
            cellColName.TextString = "Старая марка покраски";

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

            int row = 2;
            foreach (var item in changePanels)
            {
                table.Cells[row, 0].TextString = (row-1).ToString();
                table.Cells[row, 1].TextString = item.MarkSb;
                table.Cells[row, 2].TextString = item.PaintNew;
                table.Cells[row, 3].TextString = item.PaintOld;
                row++;
            }
            var lastRow = table.Rows.Last();
            lastRow.Borders.Bottom.LineWeight = lwBold;

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

示例9: DrawSupUtilTabel

        public void DrawSupUtilTabel(List<Incapere> camera, string titluTabel)
        {
            const double inaltimeText = 0.2;
            const int colorIndex = 7; //alb
            const int nrColoane = 3;
            int nrRanduri = camera.Count() + 2;
            bool existLayer = false;
            ObjectId obTs = ObjectId.Null;
            string[] header = { "Nr.\nincapere", "Destinatie incapere", "Supraf.Utila\n [mp]" };
            Color layerColor = Color.FromColorIndex(ColorMethod.ByAci, colorIndex);
            existLayer = LayerHelper.CreateLayer(m_doc, "Plansa", layerColor);
            TextHelper.CreateTextStyle(m_doc, "Arial", "arial.shx");
            CreateTableStyle("Apartamentare", "Arial", LineWeight.LineWeight018,out obTs);
            PromptPointResult insertionPoint = m_doc.Editor.GetPoint("\nSelecteaza punctul de insertie al tabelului");
            if (insertionPoint.Status == PromptStatus.OK)
            {

                Table supTable = new Table();
                if (existLayer)
                    supTable.Layer = "Plansa";

                if (obTs == ObjectId.Null)
                    supTable.TableStyle = m_db.Tablestyle;
                else
                    supTable.TableStyle = obTs;

                supTable.NumColumns = nrColoane;
                supTable.NumRows = nrRanduri;
                supTable.SetColumnWidth(0, 1.92);
                supTable.SetColumnWidth(1, 5.35);
                supTable.SetColumnWidth(2, 3.5);
                supTable.SetRowHeight(0, 0.5);
                supTable.SetRowHeight(1, 0.9);
                supTable.Position = insertionPoint.Value;

                /*********** Tabel Title **************/
                supTable.SetTextHeight(0, 0, inaltimeText+0.05);
                supTable.SetTextString(0, 0, titluTabel);
                supTable.SetAlignment(0, 0, CellAlignment.MiddleCenter);

                /*********** Table Header *************/
                for (int i = 0; i < nrColoane; i++)
                {
                    supTable.SetTextHeight(1, i, 0.22);
                    supTable.SetTextString(1, i, header[i].ToString());
                    supTable.SetAlignment(1, i, CellAlignment.MiddleCenter);
                }

                Incapere[] inc = camera.ToArray();
                for (int i = 0; i < inc.Length; i++)
                {
                    supTable.SetRowHeight(i + 2, 0.35);

                    supTable.SetTextHeight(i+2, 0, 0.2);
                    supTable.SetTextHeight(i+2, 1, 0.2);
                    supTable.SetTextHeight(i+2, 2, 0.2);

                    supTable.SetTextString(i+2, 0, inc[i].NrIncapere.ToString());
                    supTable.SetTextString(i+2, 1, inc[i].DestinatieIncapere.ToString());
                    supTable.SetTextString(i+2, 2, Math.Round(inc[i].SuprafataIncapere,2).ToString());

                    supTable.SetAlignment(i+2, 0, CellAlignment.MiddleCenter);
                    supTable.SetAlignment(i+2, 1, CellAlignment.MiddleCenter);
                    supTable.SetAlignment(i+2, 2, CellAlignment.MiddleCenter);
                }
                supTable.GenerateLayout();

                using (Transaction tran = m_db.TransactionManager.StartTransaction())
                {
                    BlockTable blkTb = tran.GetObject(m_db.BlockTableId, OpenMode.ForRead) as BlockTable;
                    BlockTableRecord blkTbRec = tran.GetObject(blkTb[BlockTableRecord.ModelSpace], OpenMode.ForWrite) as BlockTableRecord;
                    blkTbRec.AppendEntity(supTable);
                    tran.AddNewlyCreatedDBObject(supTable, true);
                    tran.Commit();
                }

            }
        }
开发者ID:cosmintaran,项目名称:CosminRepo,代码行数:78,代码来源:TableHelper.cs


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