Hello,
I have array of CDT within CDT. When I'm trying to populate data from that array to grid column I'm getting blank value with index function.
CDT Structure:
Datasubset value:[ userAssignedRequestName="test", users=[userName=dc_creator, email=dc_creator@bankcorp.com, phone=410-858-8811, firstName=test User, lastName=, status=active, role=xxxx, lastUserAction=creator]; [userName=dc_modifier, email=dc_modifier@bankcorp.com, phone=410-858-8812, firstName=test User2, lastName=, status=active, role=xxxx, lastUserAction=modifier]];
Below code is not returning user array:
a!gridTextColumn( label: "User Name", field: "lastUpdatedUserId", data: rule!REST_getLastUpdatedUser( index( local!datasubset.data, "users", {} ) ) ),
above highlighted code is not returning users array. Can anyone faced this issue with nested CDT ?
inside rule rule!REST_getLastUpdatedUser I have logic to return particular user name.
Discussion posts and replies are publicly visible
Hi Tushar,
I am suspecting that "you have already applied data while fetching the datasubset in query entity". Please remove data in index and tried the below.
a!gridTextColumn(
label: "User Name",
field: "lastUpdatedUserId",
data: rule!REST_getLastUpdatedUser(
index(
local!datasubset,
"users",
{}
)
),
below code is working for me (For time being I have hard coded values)
load( local!data: { userAssignedRequestName: "test", users: { { userName: "dc_creator", email: "dc_creator@bankcorp.com", phone: "410-858-8811", firstName: "test User", lastName: "", status: "active", role: "xxxx", lastUserAction: "creator" }, { userName: "dc_modifier", email: "dc_creator@bankcorp.com", phone: "410-858-8811", firstName: "test User", lastName: "", status: "active", role: "xxxx", lastUserAction: "modifier" } } }, local!pagingInfo: topaginginfo( 1, - 1 ), a!gridField( label: "Grid", totalCount: 2, columns: { a!gridTextColumn( label: "User Name", field: "lastUpdatedUserId", data: index( local!data, "users", {} ) ) }, value: local!pagingInfo, saveInto: local!pagingInfo
Thanks
Siva Chimata
Hi Yeswanth,
Use below code.
load(
local!data: {
userAssignedRequestName: "test",
users: {
{
userName: "dc_creator",
email: "dc_creator@bankcorp.com",
phone: "410-858-8811",
firstName: "test User",
lastName: "Siva",
status: "active",
role: "xxxx",
lastUserAction: "creator"
},
userName: "dc_modifier",
lastName: "Chimata",
lastUserAction: "modifier"
}
local!pagingInfo: topaginginfo(
1,
- 1
a!gridField(
label: "Grid",
totalCount: 2,
columns: {
field: "userName",
data: index(
local!data.users,
"userName",
label: "Last Name",
field: "lastName",
"lastName",
value: local!pagingInfo,
saveInto: local!pagingInfo
Hope this will work