Как программно сменить стиль конкретной строки таблицы?

Автор Тема: Как программно сменить стиль конкретной строки таблицы?  (Прочитано 7757 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн МатвейАвтор темы

  • ADN OPEN
  • Сообщений: 23
  • Карма: 1
Каким методом изменяется стиль строк в таблицах? В документации не нашел метода, противоположного GetRowType.

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13886
  • Карма: 1788
  • Рыцарь ObjectARX
  • Skype: rivilis
В документации не нашел метода, противоположного GetRowType.
Его нет. Есть такой вариант: https://www.cadtutor.net/forum/topic/62612-table-row-style/
Но с учетом того, что VisualLisp работает с таблицами через COM/ActiveX, а эта технология в AutoCAD очень давно не развивается, то далеко не всё с таблицами в VisualLisp можно сделать.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Отмечено как Решение Матвей 20-05-2019, 15:18:21

Оффлайн МатвейАвтор темы

  • ADN OPEN
  • Сообщений: 23
  • Карма: 1
Спасибо. Заменил SetCellTextStyle на SetCellStyle. Получилось так
Код - Auto/Visual Lisp [Выбрать]
  1. (defun vla-setrowtextstyle (tbl row sty / col)
  2.  ;; Tharwat - Date: 28.Feb.2017   ;;
  3.  (if (and (= (type tbl) 'VLA-OBJECT)
  4.           (= (vla-get-objectname tbl) "AcDbTable")
  5.           (>= (vla-get-rows tbl) row)
  6.           (setq col -1)
  7.        )
  8.    (repeat (vla-get-columns tbl)
  9.      (vla-setcellstyle tbl (1- row) (setq col (1+ col)) sty))
  10.    )
  11.  (princ)
  12.  )
Задача решена