【问题标题】:Kendoui How to dynamically add Kendo Angular 2 grids to a panelbar?Kendoui 如何将 Kendo Angular 2 网格动态添加到面板栏?
【发布时间】:2017-09-22 19:35:01
【问题描述】:

我有一个面板栏,其中包含正确显示的面板列表。问题是我需要为每个面板显示一个完全不同的网格。我该怎么做?

   

       

           

              

              

           

       

    

 

 

我的数据结构是这样的

 

        

let gridData: any[] = [];

           var objectForGrid1 = {

           C1: "123456",

           C2: "1234",

           C4: "4567"

           }

 

     

var objectForGrid2 = {

          C1: "Product",

          C2: "Product Description",

          C3: "Date",

          C4: "Date"

          }

         gridData.push(objectForGrid1);

         gridData.push(objectForGrid2);

【问题讨论】:

    标签: javascript kendo-ui kendo-ui-angular2


    【解决方案1】:

    您可以使用templates 为不同的 Grids 提供各自的设置作为不同 PanelBar 项的内容,例如:

    <kendo-panelbar>
          <kendo-panelbar-item [title]="'Grid 1'" [expanded]="true">
                <ng-template kendoPanelBarContent>
                  <kendo-grid [data]="grid1Data"></kendo-grid>
                </ng-template>
            </kendo-panelbar-item>
            <kendo-panelbar-item [title]="'Grid 2'" [expanded]="true">
                <ng-template kendoPanelBarContent>
                  <kendo-grid [data]="grid2Data"></kendo-grid>
                </ng-template>
            </kendo-panelbar-item>
        </kendo-panelbar>
    

    EXAMPLE

    【讨论】:

    • 如果我动态需要网格怎么办?在从数据库返回存储过程之前,我不知道需要多少个网格。它可以是 2 个网格,也可以是 10 个网格进入面板。直到运行时我才知道,所以我需要一种动态添加它们的方法,比如 ngFor 或其他东西
    • 通过 *ngFor 遍历具有不同网格属性的集合,并为每个元素创建一个 PanelBar 项,例如:plnkr.co/edit/zHU1s8cDTovr3go3mVGi?p=preview
    • 你是救命稻草
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多