Удаление строк текста из таблиц

Автор redfox, 22.11.19, 09:03:46

« назад - далее »

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

redfox

Добрый день
Возникла проблема: невозможно удалить строку текста из ячейки таблицы


       
public void DrawTest()
{
var api7 = KompasObj.kompas.ksGetApplication7() as IApplication;
KDoc = api7.ActiveDocument;
var view = (KDoc as IKompasDocument2D)?.ViewsAndLayersManager?.Views?.ActiveView;
var SymContainer = view as ISymbols2DContainer;

var table = SymContainer.DrawingTables.Add(2, 2, 50, 50, ksTableTileLayoutEnum.ksTTLNotCreate);
var table2 = table as ITable;

table.X = 0;
table.Y = 0;
table.Update();

var cell = table2.Cell[0, 0];
var text = cell.Text as Text;

text.Clear();

var textline1 = text.AddTextLine(ksTextLineType.ksTLText, "line1");
var textline2 = text.AddTextLine(ksTextLineType.ksTLText, "line2");
var textline3 = text.AddTextLine(ksTextLineType.ksTLText, "line3");

var textline4 = text.Add();
textline4.Str = "line4";

bool result1 = textline2.Delete();
bool result2 = textline4.Delete();

table.Update();
}

При таком же коде для обычного текста, всё нормально
public void DrawTest2()
{
var api7 = KompasObj.kompas.ksGetApplication7() as IApplication;
KDoc = api7.ActiveDocument;
var view = (KDoc as IKompasDocument2D)?.ViewsAndLayersManager?.Views?.ActiveView;
var DrawContainer = view as IDrawingContainer;

var DrawText = DrawContainer.DrawingTexts.Add();
DrawText.Allocation = ksAllocationEnum.ksAlCentre;
DrawText.X = 0;
DrawText.Y = 0;

var text = DrawText as Text;

text.Clear();

var textline1 = text.AddTextLine(ksTextLineType.ksTLText, "line1");
var textline2 = text.AddTextLine(ksTextLineType.ksTLText, "line2");
var textline3 = text.AddTextLine(ksTextLineType.ksTLText, "line3");

var textline4 = text.Add();
textline4.Str = "line4";

bool result1 = textline2.Delete();
bool result2 = textline4.Delete();

}

Пробовал удалить строку через API5, но API5 не понимает строки таблицы с вертикальным текстом и при удалении обычных строк, строки текста с вертикальным текстом пропадают


redfox

Собственно я эту тему и начинал, но сейчас возник опять вопрос касательно таблиц
И если не рассматривать вертикальный текст в таблице, то мне необходимо удалить строку из нескольких строк текста в таблице
стандартный вариант через Delete не работает, возвращает в результате false