This question is locked. New answers and comments are not allowed.
I really like using metadata to keep my XML and TS files clean. However, when I use metadata with groups on Android, it does not render the groups. Rather, it renders all the fields without any groupings. Here is a portion of my code to show what occurs:
XML
01.
<
RadDataForm
row
=
"0"
[source]="customer" (loaded)="onFormLoaded($event)">
02.
03.
<
TKPropertyGroup
tkDataFormGroups
collapsible
=
"true"
name
=
"Main Info"
hidden
=
"false"
>
04.
<
TKGroupTitleStyle
tkPropertyGroupTitleStyle
labelTextSize
=
"18"
labelFontStyle
=
"Bold"
05.
fillColor
=
"#E0E0E0"
></
TKGroupTitleStyle
>
06.
07.
<
TKEntityProperty
tkPropertyGroupProperties
name
=
"salutation"
></
TKEntityProperty
>
08.
<
TKEntityProperty
tkPropertyGroupProperties
name
=
"firstName"
></
TKEntityProperty
>
09.
<
TKEntityProperty
tkPropertyGroupProperties
name
=
"lastName"
></
TKEntityProperty
>
10.
<
TKEntityProperty
tkPropertyGroupProperties
name
=
"companyName"
></
TKEntityProperty
>
11.
</
TKPropertyGroup
>
12.
13.
</
RadDataForm
>
Metadata
01.
export let customerMetadata = {02.
isReadOnly: false,
03.
commitMode: 'immediate',
04.
validationMode: 'immediate',
05.
propertyAnnotations:
06.
[
07.
{
08.
name: 'salutation',
09.
displayName: 'Salutation',
10.
hintText: 'Salutation',
11.
editor: 'Picker',
12.
valuesProvider: ['Mr.', 'Ms.', 'Mrs.', 'Dr.', 'Rev.', 'Hon.', 'Other']
13.
},
14.
{
15.
name: 'firstName',
16.
displayName: 'First Name',
17.
hintText: 'First Name',
18.
editor: 'Text'
19.
},
20.
{
21.
name: 'lastName',
22.
displayName: 'Last Name',
23.
hintText: 'Last Name',
24.
editor: 'Text'
25.
},
26.
{
27.
name: 'companyName',
28.
displayName: 'Company Name',
29.
hintText: 'Company Name',
30.
editor: 'Text'
31.
},
32.
]
33.
}
Source
01.
onFormLoaded(args) {
02.
const radDataForm = <RadDataForm>args.object;
03.
radDataForm.source = {
04.
salutation:
this
.customer.salutation,
05.
firstName:
this
.customer.firstName,
06.
lastName:
this
.customer.lastName,
07.
companyName:
this
.customer.companyName,
08.
};
09.
radDataForm.metadata =
this
.metadata;
10.
radDataForm.reload();
11.
}
This is working nicely on iOS, but fails to display the groups on Android.