# Bind to String Array Element, Bad\_OutOfRange Quality

**URL:** <https://forum.inductiveautomation.com/t/bind-to-string-array-element-bad-outofrange-quality/95974>\
**Category:** Ignition\
**Tags:** ignition81, vision\
**Created:** [September 13, 2024, 8:10pm UTC](https://forum.inductiveautomation.com/t/bind-to-string-array-element-bad-outofrange-quality/95974 "2024-09-13T20:10:36Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![amarks](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/amarks/32/45610_2.png) [@amarks](https://forum.inductiveautomation.com/u/amarks)\
**Post date:** [September 13, 2024, 8:10pm UTC](https://forum.inductiveautomation.com/t/bind-to-string-array-element-bad-outofrange-quality/95974/1 "2024-09-13T20:10:36Z")

</div>

I have a string array tag and I'm binding to the individual elements.

If I drag the [0] element onto a property it gives me the tag binding path, then I change it to be indirect

```python
[elevator]Test/Downstream_Eq_Numbers[0]
...
{1}/Downstream_Eq_Numbers[{2}]
#{1} = path
#{2} = index

```

This works fine when the index is 0. However, if I change the index to 1 I get a Bad\_OutOfRange error on the binding, even though `[elevator]Test/Downstream_Eq_Numbers[1]` exists.

What am I doing wrong?

This string array element is bidirectionally bound to a dropdown

---

<div class="post-metadata">

**Author:** ![Benjamin\_Furlani](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/benjamin_furlani/32/66084_2.png) [@Benjamin\_Furlani](https://forum.inductiveautomation.com/u/Benjamin_Furlani)\
**Post date:** [September 16, 2024, 10:14am UTC](https://forum.inductiveautomation.com/t/bind-to-string-array-element-bad-outofrange-quality/95974/2 "2024-09-16T10:14:33Z")

</div>

Does it still show Bad\_OutOfRange if you do a direct binding?

does it give you the same thing using `system.tag.readBlocking`?

---

<div class="post-metadata">

**Author:** ![amarks](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/amarks/32/45610_2.png) [@amarks](https://forum.inductiveautomation.com/u/amarks)\
**Post date:** [September 16, 2024, 1:05pm UTC](https://forum.inductiveautomation.com/t/bind-to-string-array-element-bad-outofrange-quality/95974/3 "2024-09-16T13:05:47Z")

</div>

Direct binding with `[elevator]Test/Downstream_Eq_Numbers[1]` works just fine, no errors when I run diagnostics either.

Read blocking works as well.

Seems like it's possibly a bug.

8.1.38

---

<div class="post-metadata">

**Author:** ![lrose](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/lrose/32/62724_2.png) [@lrose](https://forum.inductiveautomation.com/u/lrose)\
**Post date:** [September 16, 2024, 3:32pm UTC](https://forum.inductiveautomation.com/t/bind-to-string-array-element-bad-outofrange-quality/95974/4 "2024-09-16T15:32:48Z")

</div>

The arrays get converted into a dataset, so you need to specify a row and a column.

Try this:

```python
{1}/Downstream_Eq_Numbers[{2},0]

```

---

<div class="post-metadata">

**Author:** ![amarks](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/amarks/32/45610_2.png) [@amarks](https://forum.inductiveautomation.com/u/amarks)\
**Post date:** [September 16, 2024, 3:49pm UTC](https://forum.inductiveautomation.com/t/bind-to-string-array-element-bad-outofrange-quality/95974/5 "2024-09-16T15:49:10Z")

</div>

would it not be `{1}/Downstream_Eq_Numbers[{2},0]` row, then column?

---

<div class="post-metadata">

**Author:** ![lrose](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/lrose/32/62724_2.png) [@lrose](https://forum.inductiveautomation.com/u/lrose)\
**Post date:** [September 16, 2024, 3:55pm UTC](https://forum.inductiveautomation.com/t/bind-to-string-array-element-bad-outofrange-quality/95974/6 "2024-09-16T15:55:20Z")

</div>

Yes, sorry, original response edited

---

<div class="post-metadata">

**Author:** ![Marcus\_Sysum](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/marcus_sysum/32/57944_2.png) [@Marcus\_Sysum](https://forum.inductiveautomation.com/u/Marcus_Sysum)\
**Post date:** [September 16, 2024, 5:34pm UTC](https://forum.inductiveautomation.com/t/bind-to-string-array-element-bad-outofrange-quality/95974/7 "2024-09-16T17:34:06Z")

</div>

@amarks Can you create the binding without dragging the array index onto the property to create the binding? Delete the component first then create the indirect binding without dragging.

---

<div class="post-metadata">

**Author:** ![amarks](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/amarks/32/45610_2.png) [@amarks](https://forum.inductiveautomation.com/u/amarks)\
**Post date:** [September 16, 2024, 5:50pm UTC](https://forum.inductiveautomation.com/t/bind-to-string-array-element-bad-outofrange-quality/95974/8 "2024-09-16T17:50:25Z")

</div>

yes. Still comes in as `[elevator]Test/Downstream_Eq_Numbers[1]` using the tag browser to select without drag/drop
