load( /* local!users : This will cotain the result you are having for a specific country which you fetched by querying DB using queryEntity Also, here I am using local, you can use your CDT directly by declaring using type identifier */ local!users:{ {username: "Clerian001" , firstName:"Andrea", lastName:"Clerici", country: "Cn", fullName:""}, {username: "casalal001" , firstName:"Andrea", lastName:"Casalucci", country: "Cn", fullName:""}, {username: "cattagi001" , firstName:"Giuseppe", lastName:"Cattaneo", country: "Cn", fullName:""} }, local!userData:apply(rule!TEST_formUserData,local!users), /* TEST_formUserData : This rule will give you the combined full name, Attached the code for it */ local!pagingInfo:a!pagingInfo( startIndex:1, batchSize:-1, sort:a!sortInfo( field:"fullName", ascending:true ) ), /*field : This will be the one based on which you want to sort and show in dropdown*/ local!datasubset:todatasubset(local!userData,local!pagingInfo), /*This datasubset will give you data sorted in full name the same as you are achieving using qury as per your post */ local!selectedUser, a!formLayout( firstColumnContents:{ a!dropdownField( label:"Select User", choiceLabels:index(local!datasubset.data,"fullName",{}), choiceValues:index(local!datasubset.data,"username",{}), value:local!selectedUser, saveInto:local!selectedUser, placeHolderLabel:"---Select User---" ), a!textField(label:"Selected User",value:local!selectedUser,readOnly:true) } ) )