Как установить свойства для xtexttable in openoffice.org uno с помощью c#?

StackOverflow https://stackoverflow.com/questions/1595921

Вопрос

Обсуждение на oooforum.org

В 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));
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top