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

ADN Club => AutoLisp / VisualLISP и DCL => Тема начата: Матвей от 20-05-2019, 13:20:45

Название: Как программно сменить стиль конкретной строки таблицы?
Отправлено: Матвей от 20-05-2019, 13:20:45
Каким методом изменяется стиль строк в таблицах? В документации не нашел метода, противоположного GetRowType.
Название: Re: Как программно сменить стиль конкретной строки таблицы?
Отправлено: Александр Ривилис от 20-05-2019, 14:07:55
В документации не нашел метода, противоположного GetRowType.
Его нет. Есть такой вариант: https://www.cadtutor.net/forum/topic/62612-table-row-style/
Но с учетом того, что VisualLisp работает с таблицами через COM/ActiveX, а эта технология в AutoCAD очень давно не развивается, то далеко не всё с таблицами в VisualLisp можно сделать.
Название: Re: Как программно сменить стиль конкретной строки таблицы?
Отправлено: Матвей от 20-05-2019, 15:15:57
Спасибо. Заменил 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.  )
Задача решена