фильтруемый не работает для сетки, если я применяю, если еще условие в сетке - PullRequest
0 голосов
/ 04 июня 2019

если мы применяем условие else в столбце сетки Kendo, то фильтруемый не работает для этого конкретного столбца

{
                        field: " ", title: "Compliance Status", width: "180px",
                        template: "# if(WithinDueDt == 'Y'){# Completed on time #} else if(Ongoing == 'Y'){# Ongoing #} else if(CompletedbutDelayed == 'Y'){# Completed but Delayed #} else if(OngoingbutDelayed == 'Y'){# Ongoing but Delayed #} #"
 }

1 Ответ

0 голосов
/ 06 июня 2019

Функция сортировки и фильтрации Kendo Grid работает на основе значения field, а не на значении template.Здесь нет поля, сопоставленного со столбцом, поэтому оно не работает.

Для решения этой проблемы: передайте значение compatibilityStatus из серверной части вместо записи шаблона в сетке.

Создайте поле String в объекте и установите для него значение на основе вышеуказанных условий, а затем сопоставьте это поле в сетке, шаблон не требуется.

Например, если выиспользуя Java в качестве бэкэнда:

private String complianceStatus;

private String getComplianceStatus(){

    complianceStatus = "";
    if(WithinDueDt == "Y"){  complianceStatus = "Completed on time" }
    else if(Ongoing == "Y"){ complianceStatus = "Ongoing" } 
    else if(CompletedbutDelayed == "Y"){complianceStatus = "Completed but Delayed"}
    else if(OngoingbutDelayed == "Y"){complianceStatus = "Ongoing but Delayed"}
    return complianceStatus ;

}

И в столбце сетки:

{ field: "complianceStatus", title: "Compliance Status", width: "180px" }
...