2016-02-05 51 views
0

我正在研究我的第一個沙箱Hyperion規劃應用程序,我很好奇它是否可以在規劃表單中創建動態下拉框。例如,如果表單要求計劃人員選擇團隊/成本中心,則可以使用公司和貨幣創建一個動態表單,以便:是否有可能在Hyperion Planning表單中創建動態下拉框

當計劃員選擇特定的成本中心時,公司和貨幣下拉框然後動態填充給定所選成本中心/團隊的所有有效選擇。

回答

1

沒有Hyperion在我面前,我不記得我是否得到了所有正確的語法,但它應該非常接近這個。

在Dropdown1的OnChange腳本:

var objDD1 = this; 
var objDD2 = ActiveDocument.Sections['Dashboard'].Shapes['Dropdown2']; 

var value1 = 'Selection'; 
var objTable1 = ActiveDocument.Sections['Table']; 
var objColumn1 = objTable1.Columns['List_Items']; 

var value2 = 'Selection2'; 
var objTable2 = ActiveDocument.Sections['Another Table']; 
var objColumn2 = objTable2.Columns['List_Items']; 

// go through this dropdown 
for(var x=1; x<=objDD1.Count; x++) 
{ 
    // stop when you get to the item that's selected 
    if(objDD1.Item(x) == objDD1.SelectedIndex) 
    { 
    // pick the correct list 
    switch(objDD1.Item(x)) 
    { 
     case value1: 
     var objTable = objTable1; 
     var objColumn = objColumn1; 
     break; 
     case value2: 
     var objTable = objTable2; 
     var objColumn = objColumn2; 
     break; 
     default: 
     Console.Writeln('Error with selection'); 
    } 

    // empty the target dropdown 
    objDD2.RemoveAll(); 

    // Go through all the rows of the table 
    for(var y=1; y<=objTable.RowCount; y++) 
    { 
     // from the column, go through each cell in order 
     var value = objColumn.GetCell(y); 

     // add the contents of that cell to the dropdown options 
     objDD2.Add(value); 
    } 
    // dropdowns only have one selection. 
    // once that's found, stop the for loop 
    break; 
    } 
} 
相關問題