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 问题跟踪器中。
使用 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 问题跟踪器中。