Сообщество программистов Autodesk в СНГ

ADN Club => AutoCAD .NET API => Тема начата: Yusuf от 17-12-2020, 13:58:50

Название: вставка таблицы с предпросмотром
Отправлено: Yusuf от 17-12-2020, 13:58:50
Здравствуйте, уважаемые коллеги-наставники подскажите можно ли реализовать вставку таблиц с предпросмотром такую которая выходит при создании таблиц стандартным способом(см. картинку)?
 И если можно хотел еще спросить почему то у меня дополнительная строка создается при создании таблицы это где копать, задаю 2 но вставляются 3 строки?
(https://i.postimg.cc/xX1mgWtK/111111.png) (https://postimg.cc/xX1mgWtK)
Название: Re: вставка таблицы с предпросмотром
Отправлено: Lemieux от 17-12-2020, 14:02:50
И если можно хотел еще спросить почему то у меня дополнительная строка создается при создании таблицы это где копать, задаю 2 но вставляются 3 строки?
Первая строка это header, копай тему со стилями таблиц. Если мне не изменяет память, то я вставлял таблицу, заранее зная стиль и как он описывается, и менял стиль ячеек с header/title на data. Может быть есть и другой путь, но меня этот устраивал.
Название: Re: вставка таблицы с предпросмотром
Отправлено: Александр Ривилис от 17-12-2020, 14:03:21
можно ли реализовать вставку таблиц с предпросмотром
Да. Смотри в сторону использования классов EntityJig или DrawJig
И если можно хотел еще спросить почему то у меня дополнительная строка создается при создании таблицы это где копать, задаю 2 но вставляются 3 строки?
Не понятно что и где ты задаёшь.
Название: Re: вставка таблицы с предпросмотром
Отправлено: Yusuf от 17-12-2020, 14:25:00
Да. Смотри в сторону использования классов EntityJig или DrawJig
вот перед заданием вопроса так и думал, но боялся искать про это так как пару раз читал и ничего не понял, спасибо буду копать
Не понятно что и где ты задаёшь.
Код - C# [Выбрать]
  1. Table tb = new Table();
  2.                 tb.TableStyle = db.Tablestyle;
  3.                 // row height
  4.                 double rowheight = 8;
  5.                 // column width
  6.                 double columnwidth = 20;
  7.                 // insert rows and columns
  8.                 tb.InsertRows(0, rowheight, 2);
  9.                 tb.InsertColumns(0, columnwidth, columnsNum-1);
  10.                 tb.SetRowHeight(rowheight);
  11.                 tb.SetColumnWidth(columnwidth);
  12.  
  13.                 tb.Position = pr.Value;
  14.  

дальше перечисляю какие данные куда вставлять
Название: Re: вставка таблицы с предпросмотром
Отправлено: Александр Ривилис от 17-12-2020, 14:28:57
Ты добавляешь после нулевой строки еще две - итого три.
Название: Re: вставка таблицы с предпросмотром
Отправлено: Александр Ривилис от 17-12-2020, 14:31:17
Посмотри эту тему: https://adn-cis.org/forum/index.php?topic=7005.0 Там есть пример кода.
Название: Re: вставка таблицы с предпросмотром
Отправлено: Yusuf от 17-12-2020, 14:49:39
Ты добавляешь после нулевой строки еще две - итого три.
а как правильно задать, так как если задаю одну строку ругается?
Название: Re: вставка таблицы с предпросмотром
Отправлено: Александр Ривилис от 17-12-2020, 14:52:53
а как правильно задать, так как если задаю одну строку ругается?
Ругается как?
Название: Re: вставка таблицы с предпросмотром
Отправлено: Yusuf от 17-12-2020, 15:38:30
а как правильно задать, так как если задаю одну строку ругается?
Ругается как?
кажется Вас побоялся теперь не ругается, только почему то последнюю строку объединяет, раньше создавал range и делал UnmergeCells, так и должно быть?
Название: Re: вставка таблицы с предпросмотром
Отправлено: Александр Ривилис от 17-12-2020, 15:44:56
кажется Вас побоялся теперь не ругается
так и должно быть?
Ага! :D
А если серьезно, то это всё очень странно. Но если так происходит, то добавляй три строки, и потом одну удаляй. Ну и очень хорошо бы вызвать tb.SetDatabaseDefaults() сразу после создания таблицы и сразу добавить её в Database (с помощью AppendEntity()) перед всеми остальными манипуляциями с ней.