Hi!
I'm getting an error when I try to use the filter row to filter a string value: (d.Status || "").toLowerCase is not a function
Grid:
01.
$("#KendoParkingCards").kendoGrid({
02.
dataSource: {
03.
transport: {
04.
read: {
05.
url: window.BASE_URL + "Ajax/GetPassInfo",
06.
type: "get",
07.
dataType: "json",
08.
data: { lookupType: lookupType.value(), lookupValue: $("#LookupValue").val() }
09.
}
10.
},
11.
pageSize: 10
12.
},
13.
sortable: true,
14.
resizable: true,
15.
pageable: { pageSizes: true, buttonCount: 5 },
16.
filterable: { mode: "row" },
17.
selectable: "single",
18.
columns: [
19.
{ field: "ParkingCardId", title: "Parking Card Id" },
20.
{ field: "StaffNo", title: "Staff Id" },
21.
{ field: "AirportPassNumber", title: "Airport Pass" },
22.
{ field: "Name", title: "Staff Name" },
23.
//{ field: "Status", title: "Status", template: "#= resolveStatusName(Status) #" },
24.
{ field: "Status", title: "Status", template: function (dataItem) { return kendo.toString(resolveStatusName(dataItem.Status)); } },
25.
{ field: "PassIssueDate", title: "Pass Issued On", type: "date", template: "#= kendo.toString(PassIssueDate, 'dd-MMM-yyyy') #", width: 150 },
26.
{ field: "PassExpiryDate", title: "Pass Expired On", type: "date", template: "#= kendo.toString(PassExpiryDate, 'dd-MMM-yyyy') #", width: 150 },
27.
{ field: "ServiceCode", title: "Service", template: "#= resolveServiceName(ServiceCode) #" },
28.
{ field: "TerminalId", title: "Terminal", template: "#= resolveTerminalName(TerminalId) #" }
29.
],
30.
change: function(e) {
31.
var grid = e.sender;
32.
var currentDataItem = grid.dataItem(this.select());
33.
34.
$('#ParkingCardId').val(currentDataItem.ParkingCardId);
35.
console.log($('#ParkingCardId').val());
36.
}
37.
});
Lines 23 and 24 both produces same error.
Function:
01.
function
resolveStatusName(statusId) {
02.
var
result;
03.
04.
switch
(statusId) {
05.
case
0: result =
'Pending Apprvoal'
;
break
;
06.
case
1: result =
'Rejected By Admin'
;
break
;
07.
case
2: result =
'Manager Approval'
;
break
;
08.
case
3: result =
'Rejected By Manager'
;
break
;
09.
case
4: result =
'Send To Admin'
;
break
;
10.
case
5: result =
'Approved'
;
break
;
11.
case
6: result =
'Completed'
;
break
;
12.
case
7: result =
'Delivered'
;
break
;
13.
case
8: result =
'Cancel'
;
break
;
14.
case
9: result =
'Programmer'
;
break
;
15.
case
11: result =
'Expired'
;
break
;
16.
case
15: result =
'Pending Payments'
;
break
;
17.
case
16: result =
'More Info Required'
;
break
;
18.
case
17: result =
'Response Given'
;
break
;
19.
case
20: result =
'Pending Payment / Third Party'
;
break
;
20.
case
21: result =
'Pending Payment / Company'
;
break
;
21.
22.
default
: result =
'?'
;
23.
}
24.
25.
return
result.toString();
26.
}
At runtime, when I try to filter, I get the error. How do I resolve this?