This is a migrated thread and some comments may be shown as answers.

Property 'at' does not exist on type 'AbstractControl

1 Answer 4301 Views
Grid
This is a migrated thread and some comments may be shown as answers.
LEO
Top achievements
Rank 1
Veteran
LEO asked on 08 Aug 2020, 10:29 AM
<kendo-grid
          [data]="view | async"
          [height]="400"
          [pageSize]="gridState.take" [skip]="gridState.skip" [sort]="gridState.sort"
          [navigable]="true"
          [pageable]="true" [sortable]="true"
          (dataStateChange)="onStateChange($event)" >
        <kendo-grid-column field="ProductName" title="Product Name" width="250">
          <ng-template kendoGridCellTemplate let-dataItem let-rowIndex="rowIndex">
            <kendo-dropdownlist kendoGridFocusable [data]="names"
              [formControl]="(formGroups.get('items') as FormArray).at(rowIndex).get('ProductName')">
              </kendo-dropdownlist>
          </ng-template>
        </kendo-grid-column>
        <kendo-grid-column field="UnitPrice" title="Price" width="200">
          <ng-template kendoGridCellTemplate let-dataItem let-rowIndex="rowIndex">
            <kendo-numerictextbox kendoGridFocusable
              [formControl]="formGroups.get('items').at(rowIndex).get('UnitPrice')">
              </kendo-numerictextbox>
          </ng-template>
        </kendo-grid-column>
        <kendo-grid-column field="Discontinued" editor="boolean" width="80" title="Discontinued">
          <ng-template kendoGridCellTemplate let-dataItem let-rowIndex="rowIndex">
            <input type="checkbox" kendoGridFocusable
              [formControl]="formGroups.get('items').at(rowIndex).get('Discontinued')"
               />
          </ng-template>
        </kendo-grid-column>
        <kendo-grid-column field="UnitsInStock" editor="numeric" width="200" title="Units In Stock">
          <ng-template kendoGridCellTemplate let-dataItem let-rowIndex="rowIndex">
            <input type="number" kendoGridFocusable
              step="0.01"
              [formControl]="formGroups.get('items').at(rowIndex).get('UnitsInStock')"
              class="k-textbox" />
          </ng-template>
        </kendo-grid-column>
      </kendo-grid>

1 Answer, 1 is accepted

Sort by
0
Svet
Telerik team
answered on 11 Aug 2020, 01:43 PM

Hi LEO,

I can confirm that at is a valid property of a FormArray class as demonstrated in the official Angular documentation:

https://angular.io/api/forms/FormArray

The reported error seems to be a generic TypeScript error. However it doesn't seem to be related to Kendo UI for Angular. What could be done in order to avoid it is to use array notation:

        <kendo-grid-column field="ProductName" title="Product Name" width="250">
          <ng-template kendoGridCellTemplate let-dataItem let-rowIndex="rowIndex">
            <kendo-dropdownlist kendoGridFocusable [data]="names"
              [formControl]="(formGroups.get('items') as FormArray)['at'](rowIndex).get('ProductName')">
              </kendo-dropdownlist>
          </ng-template>
        </kendo-grid-column>

I hope that helps.

Regards,
Svetlin
Progress Telerik

Tags
Grid
Asked by
LEO
Top achievements
Rank 1
Veteran
Answers by
Svet
Telerik team
Share this question
or