Как установить свойства для xtexttable in openoffice.org uno с помощью c#?
-
22-09-2019 - |
Вопрос
В Python я могу сделать что -то вроде этого:
table.BreakType = PAGE_BEFORE
table.HoriOrient = 0
table.RightMargin = 6.93 * 2540 - table_width
В C#я не могу найти способ установить свойства. В Xtabletable есть только несколько доступных методов, и ни один из них, кажется, не делает ничего подобного. Как установить свойства в C#?
Решение
Вы должны получить доступ к таблице через интерфейс XpropertySet. Вы можете сделать это, подставив таблицу на Xpropertset:
// Example
XPropertySet tablePropSet = (XPropertySet)textTable;
// This is how you set a property in C#
// You have to create a new Any object to pass it as parameter
tablePropSet.setPropertyValue("HeaderRowCount", new Any(typeof(int), 1));
Объект «Любой» находится в пространстве имен «Uno» (не Unoidl.com.sun.star.uno). Тебе не нужно делать
typeof(int)
Если тип не является основным типом.
new Any(1)
отлично работает для основных типов.
Пример прорыва:
XPropertySet tablePropertySet = (XPropertySet)table;
tablePropertySet.setPropertyValue
("BreakType", new Any(typeof(BreakType), BreakType.PAGE_BEFORE));
Не связан с StackOverflow