2015-09-07 3 views
3

Как я могу вернуть полный список свойств документа в файле Spotfire, используя Ironpython.Spotfire IronPython Loop через свойства

Свойства могут быть установлены

Document.Properties["myProperty"] = "myValue" 

Я хотел бы сделать что-то вроде

for myProperty in Document.Properties: 
    print myProperty 
    #Some checks like if myProperty.Name = 'name1' then ... 

Найдено это, но не могу заставить его работать еще (она возвращает более всего свойства : http://www.cambridgesoft.com/support/EnterpriseSupport/KnowledgeBase/FAQ/details/Default.aspx?TechNote=2344

from Spotfire.Dxp.Data import * 

for DocProp in Document.Data.Properties.GetProperties(DataPropertyClass.Document): 
    print DocProp.Name, DocProp.Value 

ответ

4

есть свойство объекта DocumentProperty называется isUserVisible, которые могут вам помочь.

технически все вещи, которые появляются в вашем списке Свойства документа (как, они являются «свойства документа»), и они доступны через Редактировать » Свойства документа. чтобы получить DocumentProperties вы ожидаете (как, «переменные, созданные в этом документе») вы можете запустить что-то вроде следующего:

from Spotfire.Dxp.Data import DataPropertyClass 

for d in Document.Data.Properties.GetProperties(DataPropertyClass.Document): 
    if d.IsUserVisible: print d.Name, d.Value 

вам нужно только DataPropertyClass для перечисления; тот же эффект может быть достигнут без какого-либо импорта:

for d in Document.Data.Properties.GetProperties(0): 
    if d.IsUserVisible: print d.Name, d.Value 

(., обратите внимание, что вы будете стили получить MaxMissingTimeParts и FiscalYearOffset свойства, которые создаются с каждым документом по умолчанию)

+0

Niko, вы знаете, если вы можете также сделать это с вычисленным значением? Что-то вроде Document.Data.Values ​​...? – Freddy

+0

@Freddy, чтобы вы могли рассчитывать значение, отображающее все доступные свойства документа? Вы всегда можете контактировать свойства отдельно в части Value. Или вы ожидаете, что количество свойств документа будет часто меняться? – niko

+0

Я хотел бы использовать значения (расчетные значения) из текстовой области в моем скрипте. Интересно, существует ли такой же цикл, чтобы показывать все рассчитанные значения в документе Spotfire. Но в конце концов я просто хочу использовать несколько конкретных значений. – Freddy

Смежные вопросы