# Dynamic radio group?

**URL:** <https://forum.inductiveautomation.com/t/dynamic-radio-group/39039>\
**Category:** Ignition\
**Created:** [September 24, 2020, 6:17pm UTC](https://forum.inductiveautomation.com/t/dynamic-radio-group/39039 "2020-09-24T18:17:43Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![pdixon](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pdixon/32/6899_2.png) [@pdixon](https://forum.inductiveautomation.com/u/pdixon)\
**Post date:** [September 24, 2020, 6:17pm UTC](https://forum.inductiveautomation.com/t/dynamic-radio-group/39039/1 "2020-09-24T18:17:43Z")

</div>

I would like to have a radio group where the size of the array is dynamic. I know I can use a script transform on the “radios” property, but I am not sure how to actually create the “radios” dataset. For example, I want to enter “3” and dynamically have a radio group with 3 buttons in it. Any ideas?

---

<div class="post-metadata">

**Author:** ![paul-griffith](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/paul-griffith/32/37249_2.png) [@paul-griffith](https://forum.inductiveautomation.com/u/paul-griffith)\
**Post date:** [September 24, 2020, 7:07pm UTC](https://forum.inductiveautomation.com/t/dynamic-radio-group/39039/2 "2020-09-24T19:07:32Z")

</div>

Use a transform. In this case I’m transforming the constant value `3` out of an expression, but it’d be easy to refer to a property elsewhere instead:

 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/c/0/c098f6a506a5ef0c25ad53ecd3d398e2af0c468d.png)

The transform is pretty simple:

```python
	return [
		{
			"text": "Button %s" % (i+1),
			"selected": False,
			"value": "Button %s" % (i+1),
		} for i in range(value)
	]

```

---

<div class="post-metadata">

**Author:** ![pdixon](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pdixon/32/6899_2.png) [@pdixon](https://forum.inductiveautomation.com/u/pdixon)\
**Post date:** [October 4, 2020, 11:29pm UTC](https://forum.inductiveautomation.com/t/dynamic-radio-group/39039/3 "2020-10-04T23:29:11Z")

</div>

That works, thanks!

---

<div class="post-metadata">

**Author:** ![nminchin](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/nminchin/32/6911_2.png) [@nminchin](https://forum.inductiveautomation.com/u/nminchin)\
**Post date:** [May 3, 2021, 12:04am UTC](https://forum.inductiveautomation.com/t/dynamic-radio-group/39039/4 "2021-05-03T00:04:50Z")

</div>

I learnt something new in Python today! from a post 7 months ago… 😄 specifically the for loop part to create things as you did

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [May 3, 2021, 2:24am UTC](https://forum.inductiveautomation.com/t/dynamic-radio-group/39039/5 "2021-05-03T02:24:33Z")

</div>

?? That’s just a list comprehension spread over multiple lines. ??

---

<div class="post-metadata">

**Author:** ![nminchin](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/nminchin/32/6911_2.png) [@nminchin](https://forum.inductiveautomation.com/u/nminchin)\
**Post date:** [May 3, 2021, 3:01am UTC](https://forum.inductiveautomation.com/t/dynamic-radio-group/39039/6 "2021-05-03T03:01:41Z")

</div>

Oh… yes… so it is. It must have looked different on my phone 🥺
