Kendo UI Angular - 列标题隐藏在带有锁定列的详细信息网格中

Kendo UI Angular - Column titles hidden in Detail Grid with locked column

使用 master-detail 网格并且在详细信息网格中至少有一个锁定列,详细信息网格列的标题将消失(锁定列的标题除外)。

看起来 .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

发生这种情况是因为 k-grid-header-wrap 元素在初始加载时的宽度为 0px。此宽度由 Kendo 使用 Javascript 设置为内联样式。调整 window、frame/splitter 或网格的大小似乎可以解决问题,并且可能为您提供一种解决方法。如果您可以访问网格的 Kendo 源代码,您可以通过搜索 k-grid-header-wrap 来跟踪错误。

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