Forum Discussion

Samwise's avatar
Samwise
New Contributor II
25 days ago

Dynamically replace header text with Description for Parents or Name and Description for base

Using an expansion such as .Tree is there a way I can have the header text display the member description for parents and the name & description for base members?

3 Replies

  • RaphaelV's avatar
    RaphaelV
    New Contributor II

    Hi, you can setup a MemberList for that. The property "RowOrColNameForCalcScript" allows you to define what should be displayed. Here is an example based on a member list snippet :

    Dim memberListName As String = "Ent_List"
    Dim memberListStart As String = "E#[Total GolfStream].Tree"
       
    Select Case api.FunctionType      
    	Case Is = FinanceFunctionType.MemberList
    	If args.MemberListArgs.MemberListName = memberListName Then
    		Dim objMemberListHeader As MemberListHeader = New MemberListHeader(args.MemberListArgs.MemberListName)
    		
    		'Read the members
    		Dim objMemberInfoList As List(Of MemberInfo) = api.Members.GetMembersUsingFilter(args.MemberListArgs.DimPk, memberListStart, Nothing)
    		
    		For Each objMemberInfo As MemberInfo In objMemberInfoList
    			If BRApi.Finance.Members.HasChildren(si, args.MemberListArgs.DimPk, objMemberInfo.Member.MemberId, Nothing) Then
    				objMemberInfo.RowOrColNameForCalcScript = objMemberInfo.Description
    			Else
    				objMemberInfo.RowOrColNameForCalcScript = objMemberInfo.Member.Name & " - " & objMemberInfo.Description
    			End If
    		Next
    		
    		'Return
    		Return New MemberList(objMemberListHeader, objMemberInfoList)
    	End If
    End Select

    It needs to adapted if you have multiple user cultures.

    • Samwise's avatar
      Samwise
      New Contributor II

      Thanks Raphael.

      Instead of returning the tree this is currently returning just the top member, in this case would just return Total GolfStream. It also seems to be having trouble recognizing between the parent and child and is hitting the else.