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

ADN Club => AutoCAD .NET API => Тема начата: Борис_С от 08-12-2020, 19:03:53

Название: Как выделить ячейку таблицы
Отправлено: Борис_С от 08-12-2020, 19:03:53
Добрый день!
Подскажите, пожалуйста, как выделить ячейку таблицы?
Спасибо.
Название: Re: Как выделить ячейку таблицы
Отправлено: Александр Ривилис от 08-12-2020, 20:29:46
Рекомендую просто поменять ей цвет фона.
Название: Re: Как выделить ячейку таблицы
Отправлено: Борис_С от 09-12-2020, 11:21:38
У класса CellRange не нашел свойства цвет фона. Где оно сидит?
Название: Re: Как выделить ячейку таблицы
Отправлено: Александр Ривилис от 09-12-2020, 11:31:49
У класса CellRange не нашел свойства цвет фона. Где оно сидит?
CellRange.BackgroundColor
Название: Re: Как выделить ячейку таблицы
Отправлено: Борис_С от 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.  
Но он не меняет цвет фона ячейки. Где я не прав?
Название: Re: Как выделить ячейку таблицы
Отправлено: Александр Ривилис от 09-12-2020, 12:11:35
Как минимум нет acTrans.Commit();
Название: Re: Как выделить ячейку таблицы
Отправлено: Борис_С от 09-12-2020, 12:54:52
Спасибо, это работает. Но ручками можно выделить ячейку таблицы. Это действительно сложно сделать через API?
Название: Re: Как выделить ячейку таблицы
Отправлено: Александр Ривилис от 09-12-2020, 13:03:42
Это действительно сложно сделать через API?
Этого нельзя сделать через публичное API.
Название: Re: Как выделить ячейку таблицы
Отправлено: Павел Алехин от 31-08-2024, 22:36:58
CellRange.BackgroundColor

Добрый день.
Подскажите пожалуйста, а как убрать цвет фона?
Какое значение надо присвоить BackgroundColor чтобы фона не было?
Название: Re: Как выделить ячейку таблицы
Отправлено: Владимир Шу от 02-09-2024, 15:12:42
Возможно если использовать вот этот способ выбора ячейки: https://adn-cis.org/ispolzovanie-sobyitiya-vyibora-yachejki-v-tablicze.html
и с помощью транзитной графики обрисовать ячейку, то будет похоже на выделение ячейки... понимаю что костыль, но все таки.