Как выделить ячейку таблицы

Автор Тема: Как выделить ячейку таблицы  (Прочитано 9273 раз)

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

Оффлайн Борис_САвтор темы

  • ADN OPEN
  • ***
  • Сообщений: 238
  • Карма: 3
Добрый день!
Подскажите, пожалуйста, как выделить ячейку таблицы?
Спасибо.

Отмечено как Решение Борис_С 09-12-2020, 18:40:47

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

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Как выделить ячейку таблицы
« Ответ #1 : 08-12-2020, 20:29:46 »
Рекомендую просто поменять ей цвет фона.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Борис_САвтор темы

  • ADN OPEN
  • ***
  • Сообщений: 238
  • Карма: 3
Re: Как выделить ячейку таблицы
« Ответ #2 : 09-12-2020, 11:21:38 »
У класса CellRange не нашел свойства цвет фона. Где оно сидит?

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

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Как выделить ячейку таблицы
« Ответ #3 : 09-12-2020, 11:31:49 »
У класса CellRange не нашел свойства цвет фона. Где оно сидит?
CellRange.BackgroundColor
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Борис_САвтор темы

  • ADN OPEN
  • ***
  • Сообщений: 238
  • Карма: 3
Re: Как выделить ячейку таблицы
« Ответ #4 : 09-12-2020, 12:04:41 »
Написал такой код:
Код - C# [Выбрать]
  1.         public void SelectItem(FCheckRefDialog.CDocumentsInfo docInf)
  2.         {
  3.             if (docInf.dt == DataType.Table)
  4.             {
  5.                 Document acDoc = Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.
  6.                     MdiActiveDocument;
  7.                 Database acCurDb = acDoc.Database;
  8.                 Editor ed = Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.
  9.                     MdiActiveDocument.Editor;
  10.                 using (Transaction acTrans = acCurDb.TransactionManager.StartTransaction())
  11.                 {
  12.                     Entity en = acTrans.GetObject(docInf.ObjId, OpenMode.ForWrite) as Entity;
  13.                     Autodesk.AutoCAD.DatabaseServices.Table tbl = (Table)en;
  14.                     CellRange cell = tbl.Cells[docInf.row, docInf.col];
  15.                     cell.BackgroundColor = Autodesk.AutoCAD.Colors.Color.FromRgb(255, 0, 0);
  16.                     //ed.Command("_UPDATEFIELD", docInf.ObjId, "");
  17.                 }
  18.             }
  19.         }
  20.  
Но он не меняет цвет фона ячейки. Где я не прав?

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

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Как выделить ячейку таблицы
« Ответ #5 : 09-12-2020, 12:11:35 »
Как минимум нет acTrans.Commit();
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Борис_САвтор темы

  • ADN OPEN
  • ***
  • Сообщений: 238
  • Карма: 3
Re: Как выделить ячейку таблицы
« Ответ #6 : 09-12-2020, 12:54:52 »
Спасибо, это работает. Но ручками можно выделить ячейку таблицы. Это действительно сложно сделать через API?

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

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Как выделить ячейку таблицы
« Ответ #7 : 09-12-2020, 13:03:42 »
Это действительно сложно сделать через API?
Этого нельзя сделать через публичное API.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Павел Алехин

  • ADN OPEN
  • Сообщений: 2
  • Карма: 0
Re: Как выделить ячейку таблицы
« Ответ #8 : 31-08-2024, 22:36:58 »
CellRange.BackgroundColor

Добрый день.
Подскажите пожалуйста, а как убрать цвет фона?
Какое значение надо присвоить BackgroundColor чтобы фона не было?

Оффлайн Владимир Шу

  • ADN Club
  • *****
  • Сообщений: 624
  • Карма: 158
    • ПГСу Бложик
Re: Как выделить ячейку таблицы
« Ответ #9 : 02-09-2024, 15:12:42 »
Возможно если использовать вот этот способ выбора ячейки: https://adn-cis.org/ispolzovanie-sobyitiya-vyibora-yachejki-v-tablicze.html
и с помощью транзитной графики обрисовать ячейку, то будет похоже на выделение ячейки... понимаю что костыль, но все таки.