Я пытаюсь создать таблицу или таблицу данных с динамическим количеством строк и столбцов в моем приложении NativeScript. У меня есть некоторые категории продуктов и некоторые продукты в этих категориях. Продукты имеют некоторые характеристики в отношении своей категории. Вот пример JSON для продуктов в категории графических карт:
{
"parts": [
{
"id": 1,
"name": "GTX 1080",
"stockCount": 10,
"specifications": [
{
"id": 1,
"name": "Memory",
"value": "11 GB"
},
{
"id": 2,
"name": "Core Clock",
"value": "1500 MHz"
}
]
},
{
"id": 2,
"name": "RX 580",
"stockCount": 8,
"specifications": [
{
"id": 1,
"name": "Memory",
"value": "8 GB"
},
{
"id": 2,
"name": "Core Clock",
"value": "1366 MHz"
}
]
}
]
}
Вот еще один пример в категории CPU:
{
"parts": [
{
"id": 3,
"name": "i5 7600K",
"stockCount": 8,
"specifications": [
{
"id": 3,
"name": "Socket",
"value": "LGA 1151"
},
{
"id": 4,
"name": "Frequency",
"value": "3.8 GHz"
},
{
"id": 5,
"name": "L3 Cache",
"value": "6 MB"
}
]
},
{
"id": 4,
"name": "Ryzen 7 1700",
"stockCount": 15,
"specifications": [
{
"id": 3,
"name": "Socket",
"value": "AM4"
},
{
"id": 4,
"name": "Frequency",
"value": "3.0 GHz"
},
{
"id": 5,
"name": "L3 Cache",
"value": "16MB"
}
]
}
]
}
Я хочу показать графические карты в виде таблицы:
Name Stock Memory Core Clock
GTX 1080 10 11 GB 1500 MHz
RX 580 8 8 GB 1366 MHz
и процессоры, подобные этому:
Name Stock Socket Frequency L3 Cache
i5 7600K 8 LGA 1151 3.8 GHz 6 MB
Ryzen 7 1700 15 AM4 3.0 GHz 16 MB
Я пробовал RadListView с GridLayout, но не могу этого сделать. Если бы спецификация для всех категорий была бы постоянной, я мог бы легко создать GridLayout с постоянным количеством столбцов, например:
<GridLayout columns="*, auto, auto, auto, auto">...</GridLayout>
Но произвольное количество спецификаций ставит меня перед проблемой.
Есть ли какой-нибудь способ в NativeScript Angular для достижения этой цели? Я использую 4.1.0 версию NativeScript.