2017-11-25 151 views
0

通常,當我爲每列使用單獨的kendo-grid-column標記時,我可以很容易地給出[width]和ng模板用於任何特定列如何使用ngFor kendo grid angular 2爲特定列提供寬度和ng模板?以一個例子從劍術文檔在https://www.telerik.com/kendo-angular-ui/components/grid/columns/使用ngFor kendo grid angular 2爲特定列賦予寬度和ng模板?

@Component({ 
    selector: 'my-app', 
    template: ` 
     <kendo-grid 
     [kendoGridBinding]="gridData" 
     [filterable]="true" 
     scrollable="none" 
     > 
     <kendo-grid-column 
      *ngFor="let column of columns" 
      field="{{column.field}}" 
      title="{{column.title}}" 
      format="{{column.format}}" 
      filter="{{column.type}}" 
     ></kendo-grid-column> 
     </kendo-grid> 
    ` 
}) 
export class AppComponent { 
    public gridData: any[] = sampleProducts; 

    public columns: ColumnSetting[] = [ 
    { 
     field: 'ProductName', 
     title: 'Product Name', 
     type: 'text' 
    }, { 
     field: 'UnitPrice', 
     format: '{0:c}', 
     title: 'Unit Price', 
     type: 'numeric' 
    }, { 
     field: 'FirstOrderedOn', 
     format: '{0:d}', 
     title: 'First Ordered', 
     type: 'date' 
    } 
    ]; 
} 

在生成列的上述方式,我希望使用納克模板和寬度以一些特定的列。如果我將它寫入kendo-grid-column標記中,它將適用於所有列,但我只希望它用於特定列。我怎樣才能做到這一點 ?

+0

你嘗試用[寬度] =「column.field ==='column_name'?'desired_width':'default_witdth'」 –

回答

1

您也可以使用同樣的方法爲其他屬性 - 只要提供相應的對象寬度屬性從陣列:

<kendo-grid-column 
      *ngFor="let column of columns" 
      field="{{column.field}}" 
      title="{{column.title}}" 
      format="{{column.format}}" 
      filter="{{column.type}}" 
      width="{{column.width}}" 
     ></kendo-grid-column> 

public columns: ColumnSetting[] = [ 
    { 
     field: 'ProductName', 
     title: 'Product Name', 
     type: 'text' 
    }, { 
     field: 'UnitPrice', 
     format: '{0:c}', 
     title: 'Unit Price', 
     type: 'numeric', 
     width: 300 
    }, { 
     field: 'FirstOrderedOn', 
     format: '{0:d}', 
     title: 'First Ordered', 
     type: 'date' 
    } 
    ]; 

UPDATED EXAMPLE

+0

我該如何給像headerClass這樣的屬性?我試過它不起作用 –

+0

headerClass =「{{column.customClass}}」(其中customClass是一個字符串)或[headerClass] =「column.customClass」似乎按預期工作: http:///plnkr.co/edit/gtHYPdy0gpBJuP3uI0fR?p=preview 如果將在組件級別上提供自定義樣式,請不要忘記刪除封裝。 – topalkata

+0

我會試一試,並會讓你知道 –