2015-10-09 3 views
0

В настоящее время мне нужно изменить имя столбца в зависимости от конкретных критериев, но для этого я хотел бы ссылаться на этот столбец по имени ExternalName, а не на его имя.Как получить внешнее имя столбца с помощью IronPython в Spotfire?

aColumn = Document.ActiveDataTableReference.Columns["I_id"].Name 

К сожалению, это не сработает.

aColumn = Document.ActiveDataTableReference.Columns["I_id"].ExternalName 

ответ

2

Вы очень близко! ExternalName не является собственностью DataColumn object, то есть, полагаю, вы поняли, почему ваш подход не работает.

Фактически, ExternalName является товаром, представленным DataColumnProperties.DefaultProperties class. вы на самом деле получить доступ к этому, как если бы это было специально определено Column Property следующим образом:

col_ext_name = Document.ActiveDataTableReference.Columns["I_id"].Properties["ExternalName"] 

print(col_ext_name) 

>> index_id 
+0

спасибо! есть ли простой способ ссылаться на внешнее имя, не зная названия столбца? в нашей настройке имя столбца динамическое и может измениться, но внешнее имя будет стабильным? – Keng

+1

Я не думаю, что есть способ напрямую ссылаться на столбец 'ExternalName', но вы можете использовать что-то вроде' для col в Document.ActiveDataTableReference.Columns: if col.Properties ["ExternalName"] = "some_name": do_stuff() ' – niko

+0

Вот как я это делал. просто думаю, что я мог что-то пропустить. благодаря! – Keng

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