# getColumnAsList() in 7.9.14

**URL:** <https://forum.inductiveautomation.com/t/getcolumnaslist-in-7-9-14/37063>\
**Category:** Ignition\
**Created:** [July 24, 2020, 5:26pm UTC](https://forum.inductiveautomation.com/t/getcolumnaslist-in-7-9-14/37063 "2020-07-24T17:26:38Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![Jonathan](https://avatars.discourse-cdn.com/v4/letter/j/aeb1de/32.png) [@Jonathan](https://forum.inductiveautomation.com/u/Jonathan)\
**Post date:** [July 24, 2020, 5:26pm UTC](https://forum.inductiveautomation.com/t/getcolumnaslist-in-7-9-14/37063/1 "2020-07-24T17:26:38Z")

</div>

Is getColumnAsList() for datasets not longer available? I have a screen that has used it for years and now it is getting an error

```auto
AttributeError: 'com.inductiveautomation.factorypmi.application.bin' object has no attribute 'getColumnAsList'

```

The error seems to odd to me because the variable is being set to a dataset from a table so why does it say ‘com.inductiveautomation.factorypmi.application.bin’?

here is a snip of the code

```auto
dsData = event.source.parent.getComponent('tblPrices').data
headers = [dsData.getColumnName(c) for c in range(dsData.getColumnCount())]
headerIndex = headers.index("PTW")
listPTW = dsData.getColumnAsList(headerIndex)

```

---

<div class="post-metadata">

**Author:** ![Kevin.Herron](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kevin.herron/32/7259_2.png) [@Kevin.Herron](https://forum.inductiveautomation.com/u/Kevin.Herron)\
**Post date:** [July 24, 2020, 5:33pm UTC](https://forum.inductiveautomation.com/t/getcolumnaslist-in-7-9-14/37063/2 "2020-07-24T17:33:32Z")

</div>

`getColumnAsList` is not a member of the `Dataset` interface.

You must have been operating on an implementation of Dataset that had it, but now you’re not.

If you print out the type of Dataset in the old version and current version you might see the difference. For example, a PyDataSet does not have `getColumnAsList` on it.

(do something like `print type(ds)`)

---

<div class="post-metadata">

**Author:** ![Kevin.Herron](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kevin.herron/32/7259_2.png) [@Kevin.Herron](https://forum.inductiveautomation.com/u/Kevin.Herron)\
**Post date:** [July 24, 2020, 5:44pm UTC](https://forum.inductiveautomation.com/t/getcolumnaslist-in-7-9-14/37063/3 "2020-07-24T17:44:34Z")

</div>

Is the query/binding that is populating this table configured to retain rows?

---

<div class="post-metadata">

**Author:** ![Jonathan](https://avatars.discourse-cdn.com/v4/letter/j/aeb1de/32.png) [@Jonathan](https://forum.inductiveautomation.com/u/Jonathan)\
**Post date:** [July 24, 2020, 6:09pm UTC](https://forum.inductiveautomation.com/t/getcolumnaslist-in-7-9-14/37063/4 "2020-07-24T18:09:19Z")

</div>

no it is set to false.

---

<div class="post-metadata">

**Author:** ![MMaynard](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/mmaynard/32/3366_2.png) [@MMaynard](https://forum.inductiveautomation.com/u/MMaynard)\
**Post date:** [July 24, 2020, 6:22pm UTC](https://forum.inductiveautomation.com/t/getcolumnaslist-in-7-9-14/37063/5 "2020-07-24T18:22:46Z")

</div>

In 7.9.x you can import basicDataSet and then use the getColumnAsList on it.

```auto
from com.inductiveautomation.ignition.common import BasicDataset
dsData = BasicDataset(event.source.parent.getComponent('tblPrices').data)
```

---

<div class="post-metadata">

**Author:** ![Kevin.Herron](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kevin.herron/32/7259_2.png) [@Kevin.Herron](https://forum.inductiveautomation.com/u/Kevin.Herron)\
**Post date:** [July 24, 2020, 6:23pm UTC](https://forum.inductiveautomation.com/t/getcolumnaslist-in-7-9-14/37063/6 "2020-07-24T18:23:59Z")

</div>

Either set it `true` or do what @MMaynard suggests.

The ‘com.inductiveautomation.factorypmi.application.bin’ reference is to ‘com.inductiveautomation.factorypmi.application.binding.util.NonSerializaingDataset’, which is not one of the Dataset implementations that happen to have `getColumnAsList`. This dataset implementation gets used when the rows are not configured to be retained.

---

<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:** [July 25, 2020, 12:30am UTC](https://forum.inductiveautomation.com/t/getcolumnaslist-in-7-9-14/37063/7 "2020-07-25T00:30:43Z")

</div>

> [@Kevin.Herron](#):
>
> which is not one of the Dataset implementations that happen to have `getColumnAsList`

Awww, really? That's sad. When I first thought of creating my `TransientDataset` implementation (in my caching module), I deliberately subclassed BasicDataset in order to keep its use seamless.
