如何使用插入按钮的IronPython脚本在Spotfire中的CrossTable可视化中添加/删除列?

时间:2014-09-25 09:23:13

标签: ironpython spotfire

我找到了如何在表格可视化中添加/删除列的信息。 http://www.bearonspotfire.com/dynamic-tables-using-scripts-in-spotfire

from Spotfire.Dxp.Application.Visuals import VisualContent
## we need to import this as it is an enum and we want to refer to it
from Spotfire.Dxp.Application.Visuals import TablePlotColumnSortMode

## get the table visualisation
table = tableVisualisation.As[VisualContent]()

## check what option user selected and remove column (if present) of other column(s)
if selectedOrder == usagesName and table.TableColumns.Contains(dataTable.Columns[lastAccessedName]):
    table.TableColumns.Remove(dataTable.Columns[lastAccessedName])
elif selectedOrder == lastAccessedName and table.TableColumns.Contains(dataTable.Columns[usagesName]):
    table.TableColumns.Remove(dataTable.Columns[usagesName])

## add in new column assuming it isn't there already
if not table.TableColumns.Contains(dataTable.Columns[selectedOrder]):
    table.TableColumns.Add(dataTable.Columns[selectedOrder])

## set the sorting for the table
table.SortInfos.Clear();
table.SortInfos.Add(dataTable.Columns[selectedOrder], TablePlotColumnSortMode.Descending)

## changing the table resets the column size so lets fix it
addedColumn = table.TableColumns.TryGetTableColumn(dataTable.Columns[selectedOrder])[1]
addedColumn.Width = 120

我需要对交叉表可视化做同样的事情。

1 个答案:

答案 0 :(得分:0)

我注意到可以修改ColumnAxis的表达式属性,这会导致对列集的修改,因此它允许添加/删除列,但它不像表可视化那样整洁。 - Jacek Sierajewski 9月25日&14; 14:20:52

crossTable.ColumnAxis.Expression =""此代码片段正在修改Column Axis的内容以仅包含Clothing列。 - Jacek Sierajewski 9月26日&14; 14日7:24

表达的另一个例子是< [服装] NEST [Groceries] NEST [Toys] NEST [购买的商品数量]>。我现在可以通过将属性值发送到Input文本值来获取工具创建的表达式。 - Jacek Sierajewski 9月26日&14; 14日11:21