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

ADN Club => AutoCAD .NET API => Тема начата: Алексей (IdeaSoft) от 02-03-2020, 21:24:32

Название: Удаление столбца или строки в Table
Отправлено: Алексей (IdeaSoft) от 02-03-2020, 21:24:32
Как мне удалить столбец или строку в
у элемента класса?

Autdesk.AutoCAD.DatabaseServices.Table
Название: Re: Удаление столбца или строки в Table
Отправлено: Александр Ривилис от 02-03-2020, 21:43:17
Как мне удалить столбец или строку в
у элемента класса?

Autdesk.AutoCAD.DatabaseServices.Table


Table.DeleteColumns
Table.DeleteRows
Название: Re: Удаление столбца или строки в Table
Отправлено: Alexandr1993 от 29-12-2022, 18:26:43
Добрый вечер. Создаю таблицу. Первая строка принимает стиль "Название". Но мне данная строка не требуется. Вызываю метод Table.DeleteRows(0,1) в целях удалить первую строку. Вместо этого удаляется последняя, вся таблица как бы "съезжает" на одну строку вверх.

Ожидаю вот так (и вручную строка удаляется именно с таким результатом):
(https://i.postimg.cc/ZWyhP0wF/C.png) (https://postimg.cc/ZWyhP0wF)

А с вызовом метода Table.DeleteRows(0,1) получаю вот так:
(https://i.postimg.cc/WtHNMR2V/bad.png) (https://postimg.cc/WtHNMR2V)

где первая строка - это строка со стилем "Название" и содержание второй как бы "переехало" на нее. А этого не требуется.

Подскажите как это недоразумение победить?
Название: Re: Удаление столбца или строки в Table
Отправлено: Алексей Кулик от 29-12-2022, 23:01:06
А если попробовать поменять стиль первой строке?
Название: Re: Удаление столбца или строки в Table
Отправлено: Alexandr1993 от 30-12-2022, 08:34:48
А если попробовать поменять стиль первой строке?

Я пытался реализовать эту идею, но:
1. Во-первых, сразу в лоб не вышло. Пробовал вот так:

777:        // Встроенные стили ячеек имеют имена:
778:        // _TITLE, _HEADER, _DATA.

table.Rows[i].Style = "_TITLE";
Источник вдохновения: http://bushman-andrey.blogspot.com/2014/06/autocad_5.html (http://bushman-andrey.blogspot.com/2014/06/autocad_5.html)

Но поймал Exception типа eInvalidInput и решил пробовать пункт 2.

Если подскажете как назначать стиль строке - буду признателен.

2. Во-вторых, я предположил что метод удаления строки в таблице где-нибудь когда-нибудь еще обязательно пригодится, и неплохо было бы его научиться его применять.
Название: Re: Удаление столбца или строки в Table
Отправлено: Алексей Кулик от 30-12-2022, 09:28:36
https://adn-cis.org/forum/index.php?topic=9111.msg37184#msg37184 ?
Название: Re: Удаление столбца или строки в Table
Отправлено: Алексей Кулик от 30-12-2022, 09:30:01
И я бы проверил направление, в котором строится таблица: снизу вверх или сверху вниз. Может, поэтому DeleteRows срабатывает неверно (но это на уровне предположений)
Название: Re: Удаление столбца или строки в Table
Отправлено: Александр Ривилис от 31-12-2022, 19:47:30
Alexandr1993,
Ты удаляешь строку таблицы случайно не в той же транзакции, в которой создаешь таблицу?
Название: Re: Удаление столбца или строки в Table
Отправлено: Alexandr1993 от 09-01-2023, 07:47:38
Александр, именно так. Так понимаю в этом и кроется причина моих бед. Нужно разделить транзакции: одна под создание таблицы, вторая для редактирования таблицы? Если не сложно, можете привести любой абстрактный пример, я бы его адаптировал под свои нужды. Заранее благодарю.
Название: Re: Удаление столбца или строки в Table
Отправлено: Alexandr1993 от 09-01-2023, 08:10:20
И я бы проверил направление, в котором строится таблица: снизу вверх или сверху вниз. Может, поэтому DeleteRows срабатывает неверно (но это на уровне предположений)

Направление было корректное, по ссылке выше (из ответа #5) сделал настройку стилей - все получилось, благодарю за наводку.