Kendo UI Angular - 隐藏在带有锁定列的Detail Grid中的列标题

时间:2017-06-14 18:04:14

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

使用主细节网格并在细节网格中至少有一个锁定列时,细节网格列的标题将消失(锁定列的标题除外)。

看起来像.k-grid-header的宽度> .k-grid-header-wrap元素计算不正确。

注意:如果所有列最初都适合网格的宽度,则标题是可见的并且似乎按预期工作。

有关详细信息,请参阅此Plunker

@Component({
    providers: [CategoriesService],
    selector: 'my-app',
    template: `
      <kendo-grid
          [data]="view | async"
          [pageSize]="pageSize"
          [skip]="skip"
          [sortable]="true"
          [sort]="sort"
          [pageable]="true"
          [height]="550"
          (dataStateChange)="dataStateChange($event)"
        >
        <kendo-grid-column field="CategoryID" width="100"></kendo-grid-column>
        <kendo-grid-column field="CategoryName" width="200" title="Category Name"></kendo-grid-column>
        <kendo-grid-column field="Description" [sortable]="false">
        </kendo-grid-column>
        <div *kendoGridDetailTemplate="let dataItem">
            <category-details [category]="dataItem"></category-details>
        </div>
      </kendo-grid>
  `
})

@Component({
    selector: 'category-details',
    providers: [ProductsService],
    template: `
      <kendo-grid
          [data]="view | async"
          [pageSize]="5"
          [skip]="skip"
          [pageable]="true"
          [scrollable]="'scrollable'"
          (pageChange)="pageChange($event)"
        >
      <kendo-grid-column field="ProductID" title="Product ID" width="250" [locked]="true">
      </kendo-grid-column>
      <kendo-grid-column field="ProductName" title="Product Name" width="250">
      </kendo-grid-column>
      <kendo-grid-column field="UnitPrice" title="Unit Price" format="{0:c}" width="250">
      </kendo-grid-column>
      </kendo-grid>
  `
})

Screenshot here

1 个答案:

答案 0 :(得分:1)

这是因为k-grid-header-wrap元素在初始加载时的宽度为0px。此宽度由Kendo使用Javascript设置为内联样式。调整窗口,框架/分割器或网格的大小似乎可以解决问题,并可能为您提供解决方法。如果您可以访问网格的Kendo源代码,则可以通过搜索k-grid-header-wrap来跟踪错误。

我怀疑这是一个Kendo错误,应该记录在Kendo的GitHub问题跟踪器上。