在 Kendo UI 中为 Angular 创建动态网格
Creating dynamically grid in Kendo UI for Angular
Kendo UI for Angular 有一个网格可以定义如下:
<kendo-grid [data]="gridData" [height]="410">
<kendo-grid-column field="ProductID" title="ID" width="40">
</kendo-grid-column>
<kendo-grid-column field="ProductName" title="Name" width="250">
</kendo-grid-column>
<kendo-grid-column field="Category.CategoryName" title="Category">
</kendo-grid-column>
<kendo-grid-column field="UnitPrice" title="Price" width="80">
</kendo-grid-column>
</kendo-grid>
但我需要做的是动态构建列。类似于:
var grid = new KendoGrid();
var column = new KendoGridColumn();
grid.add(column);
这可能吗?
据我所知,您无法创建这样的网格。
或者您可以通过 ngFor
.
生成列
public columns = [
{ field:'ProductID', title:'ID', width:250 },
{ field:'Category.CategoryName', title:'Category' }
];
html
<kendo-grid [data]="gridData" [height]="410">
<kendo-grid-column
*ngFor="let column of columns"
[field]="column.field"
[title]="column.title"
[width]="column.width">
</kendo-grid-column>
</kendo-grid>
Kendo UI for Angular 有一个网格可以定义如下:
<kendo-grid [data]="gridData" [height]="410">
<kendo-grid-column field="ProductID" title="ID" width="40">
</kendo-grid-column>
<kendo-grid-column field="ProductName" title="Name" width="250">
</kendo-grid-column>
<kendo-grid-column field="Category.CategoryName" title="Category">
</kendo-grid-column>
<kendo-grid-column field="UnitPrice" title="Price" width="80">
</kendo-grid-column>
</kendo-grid>
但我需要做的是动态构建列。类似于:
var grid = new KendoGrid();
var column = new KendoGridColumn();
grid.add(column);
这可能吗?
据我所知,您无法创建这样的网格。
或者您可以通过 ngFor
.
public columns = [
{ field:'ProductID', title:'ID', width:250 },
{ field:'Category.CategoryName', title:'Category' }
];
html
<kendo-grid [data]="gridData" [height]="410">
<kendo-grid-column
*ngFor="let column of columns"
[field]="column.field"
[title]="column.title"
[width]="column.width">
</kendo-grid-column>
</kendo-grid>