Introduction
Sometimes we want to give the user the ability to sort the column order from the WebPlayer or a guided analysis where the sorting from Data > Column Properties > Sort Order is not available for the end user. In this article we discover how this is done using the power of IronPython
Create and test the script
Step 1
On a Text Area, Create a List box (multiple select) Property Control with Unique values in column pointing to a new String List Document Property called "values"
Step 2
Create a Label Property Control on a Text Area using the "values" document property to output the selecting order of the columns and add a "Apply" Action Control Button
Step 3
Create an IronPython script for the Apply button
#tblName and colName can be script parameters tblName = "Blood Work" colName = "type" values = Document.Properties["values"] dt = Document.Data.Tables[tblName] # The values in values must be of the same type as the values in the column. # Column values not present in values will be sorted last. dt.Columns[colName].Properties.SetCustomSortOrder(values)
If you are getting values from another source other than a document property, you can sort the columns this way:
tblName = "Blood Work" colName = "type" values = System.Collections.Generic.List[str](["A","B","AB","O"]) Document.Data.Tables[tblName].Columns[colName].Properties.SetCustomSortOrder(values)
Recommended Comments
There are no comments to display.