我有一個劍道角網格,其中一列被綁定到一個對象,所以編輯器是一個下拉列表。我想按這個對象的屬性來排序,而不是對象本身,但是沒有看到任何明顯的方法來做到這一點。我在kendo-grid-column尋找一個「sortby」屬性,所以我可以輸入「CabinetSupplier.Name」(CabinetSupplier是對象,Name是屬性)。下面是我的列配置:根據劍道角格中的物體排序
<kendo-grid-column field="CabinetSupplier" title="Cabinet Supplier" sort>
<ng-template kendoGridFilterCellTemplate let-filter>
<kendo-dropdown-filter [filter]="filter"
[data]="cabinetsService.cabinetSuppliers | filter:[{Disabled: false}]"
textField="Name"
valueField="Id"
(filterSelectionChange)="handleFilterSelectionChange($event)"
filterBy="CabinetSupplier.Id">
</kendo-dropdown-filter>
</ng-template>
<ng-template kendoGridCellTemplate let-dataItem>
{{dataItem.CabinetSupplier.Name}}
</ng-template>
</kendo-grid-column>
我希望有一個通用的解決方案不一樣的東西:
protected sortChange(sort: SortDescriptor[]): void
{
sort.map((item) =>
{
if (item.field == "CabinetSupplier")
{
item.field = "CabinetSupplier.Name";
}
});
this.sort = sort;
}
,其除了作爲非通用,我將不得不考慮一個事實,即每個當你點擊它正在嘗試按照CabinetSupplier排序的標題時,將創建一個新的排序,這將需要刪除並且CabinetSupplier.Name排序已更改。此外,字段標題旁邊的箭頭指示符不會顯示,因爲它們會出現在名爲CabinetSupplier而不是CabinetSupplier.Name的字段旁邊。
請幫忙。
嗨Jonnysai,謝謝你的回答。我非常感謝你的幫助,但我一直在尋找更通用的解決方案,所以我編輯了我的文章,希望能夠使其更加清晰。 – LanceM