If column.field is a simple property name (e.g. name), all is good. If it is a bind expression like subProperties[0].name, it doesn't work.
Change this:
ng-model="row[column.field]"
into something that will allow column.field to be a general bind expression.