I am trying to apply filter for my grid. It is working fine for normal data in the grid but it is not working for array of array data in the grid. I am using template for rendering the grid data.
Kindly suggest some way to resolve this issue as soon as possible. In below example filter is working for productnumberlist but not working for daterangelist and intelWwlist.
var _daterangelist = [];
var _productnumberlist = [];
var _intelWwlist = [];
this.setDaterangelist = function(input){
_daterangelist = input;
}
this.setProductnumberlist = function(input) {
_productnumberlist = input;
}
this.setIntelWwlist = function(input){
_intelWwlist = input;
}
this.assuranceGridOptions = function () {
var selectTemplate = '<input type="checkbox" class="wom-md-checkbox"/>',
customerPartNumberTemplate = '',
intelProductNumberTemplate = '<span>{{dataItem.productNumber | trimLeadingZero}}</span>',
intelProductNameTemplate = '',
intelProcessorNumberTemplate = '',
intelWwTemplate = '#ln=availablelist.length;for (var i = 0; i< ln; i++) {#<span>#="WW"+(availablelist[i].workweek).slice(4)#</span><br>#}#',
dateRangeTemplate = '#ln=availablelist.length;for (var i = 0; i< ln; i++) {#<span>#=availablelist[i].startdate + " To " + availablelist[i].enddate#</span><br>#}#',
requestedQtyTemplate = '#ln=availablelist.length;for (var i = 0; i< ln; i++) {#<span>#=availablelist[i].quantity#</span><br>#}#',
plantTemplate = '#ln=availablelist.length;for (var i = 0; i< ln; i++) {#<span>#=availablelist[i].plant#</span><br>#}#';
var columnStyle = "text-align: center; font-size: 14px; white-space: normal; overflow: visible",
headerStyle = 'text-align: center; font-size: 14px; overflow: visible';
var searchResultsGrid = {
columns: [
{
field: '',
title: '',
width: '50px',
headerAttributes: {style: headerStyle},
attributes: {style: columnStyle},
template: selectTemplate
},
{
field: 'cpn',
title: 'Customer Part #',
headerAttributes: {style: headerStyle},
attributes: {style: columnStyle},
template: customerPartNumberTemplate
},
{
field: 'prodNum',
title: 'Intel Product #',
headerAttributes: {style: headerStyle},
attributes: {style: columnStyle},
template: intelProductNumberTemplate,
filterable: {ui: productnumberFilter}
},
{
field: 'productName',
title: 'Intel Product Name',
headerAttributes: {style: headerStyle},
attributes: {style: columnStyle},
template: intelProductNameTemplate
},
{
field: 'processorNumber',
title: 'Processor #',
headerAttributes: {style: headerStyle},
attributes: {style: columnStyle},
template: intelProcessorNumberTemplate
},
{
field: 'intelWw',
title: 'Intel WW',
headerAttributes: {style: headerStyle},
attributes: {style: columnStyle},
template: intelWwTemplate,
filterable: {ui: intelWwFilter}
},
{
field: 'dateRange',
title: 'Date Range',
width: 210,
headerAttributes: {style: headerStyle},
attributes: {style: columnStyle},
template: dateRangeTemplate,
filterable: {ui: dateRangeFilter}
},
{
field: 'quantity ',
title: 'Qty',
headerAttributes: {style: headerStyle},
attributes: {style: columnStyle},
template: requestedQtyTemplate
},
{
field: 'plant',
title: 'Plant',
headerAttributes: {style: headerStyle},
attributes: {style: columnStyle},
template: plantTemplate
}
],
columnMenu: true,
pageable: true,
noRecords: {
template: "No record found. Please contact your Intel representative for supply assurance information."
},
filterable: {
extra: false,
operators: {
string: {
contains: "Contains",
startswith: "Starts with",
eq: "Is equal to",
neq: "Is not equal to"
}
}
},
dataSource: new kendo.data.DataSource({
selectable: "",
transport: {
read: {
dataType: "json",
cache: false
}
},
schema: {
parse: function (d) {
for (var i = 0; i < d.length; i++) {
if (d[i]) {
return d[i];
}
}
return [];
},
},
filter: {
}
})
};
return searchResultsGrid;
}
this.getEmptyLineItem = function () {
return {
orderID: "",
cpn: "",
intelProductNumber: "",
intelProductName: "",
intelProcessorNumber: "",
intelWw: "",
dateRange: "",
requestedQty: "",
plant: ""
}
}
function productnumberFilter(element) {
element.kendoDropDownList({
dataSource: _productnumberlist,
optionLabel: "--Select Value--"
});
}
function dateRangeFilter(element) {
element.kendoDropDownList({
dataSource: _daterangelist,
optionLabel: "--Select Value--"
});
}
function intelWwFilter(element){
element.kendoDropDownList({
dataSource: _intelWwlist,
optionLabel: "--Select Value--"
});
}
Hi,
Can I customize remove dependency popup's message? Or it is a static message?
Thanks

Hi,
I have a date in my database (25/08/2020). When I try to display it in the kendo grid, it is shown as 25/08/2020 (Expected) for me. But some of the users from USA are shown 24/08/2020. After some debugging, I found that the local timezone conversion is done based on the browsers timezone settings. Anyway we can exclude this automatic conversion globally?
Option available so far but not suitable:
1. Convert the date to string and display. This means I lose all the functions of using date type.
2. Have UTC time in both client and server. This is a tedious process as the application is huge and cannot do this change.
I have a hierarchy with multiple roots and I have a requirement that only the root should have the delete button enabled and when pressing delete to remove the whole hierarchy.
As it works now it seems that when I press the delete button for each node the ajax delete method is called.
Is there a way to call the delete method only for the selected node?
Is there an example where I can remove the nodes programmatically without calling the ajax delete method.
I was configuration a directory in a directory by used File Manager.
After that whenever click the sub directory, parent directory move to left (created 'k-treeview-toggle').
What's that?
DEMO: multiple click the 'folder2'
Hi, we need to use mutlSelect with huge dataset, 10k+.
We found a solution that seems to partially work, we just set a pageSize on the dataset, and it works almost perfectly.
https://dojo.telerik.com/@foxontherock/aJeWapAV/6
The DOM stay low, and we can select items outside the first page, and it works well, the items stays on the list of selected items.
The only issue seems to set "initial" values. If these values are not on the first page, they are not displayed and set.
I tried using the "value" parameter, and the .value method.
But, I know it's possible to make it work, because, after, when I select my items in the list, it's perfect.
Is it a bug, or do you have any suggestion to help me set the intial items?
Thank you.
p.s. I DONT want to use virtual property, I tried it and it's difficult to use and doesn't work as expected.
Hi ,
Need to check programmatically (based on condition) level 3 (grand child) or more (gran grand child) nodes.
I am able to check till level 2. But can you help me to check the nodes when we have nodes in more that 2 levels.
The following code works up to 2 level:
var treeview = $("#treeview").data("kendoTreeView");
for (var i = 0; i < nodes.length; i++) {
for (var j = 0; j < nodes[i].items.length; j++) {

I want to load positions based on selected employee.
Index.Cshtml
$("#employees").kendoMultiSelect({
placeholder: "Select employees...",
dataTextField: "EmployeeFullName",
dataValueField: "EmployeeId",
autoBind: false,
filter: "contains",
dataSource: {
serverFiltering: true,
transport: {
read: baseUrl + "Schedules/GetEmployees_New",
}
}
}).data('kendoMultiSelect');
$("#positions").kendoMultiSelect({
placeholder: "Select positions...",
dataTextField: "Code",
dataValueField: "PositionId",
autoBind: false,
filter: "contains",
dataSource: {
serverFiltering: true,
transport: {
read: baseUrl + "Schedules/GetPositions_New",
data: function () {
return {
IDs : $("#employees").data('kendoMultiSelect').value().join() //I am not getting this value in controller
};
}
}
}
}).data('kendoMultiSelect');
SchedulesController.cs
public ActionResult GetEmployees_New(Filters filter, string IDs)
{
return Json(ReturnData, JsonRequestBehavior.AllowGet);
}
public ActionResult GetPositions_New(Filters filter, string IDs)
{
// I am not getting employee value in IDs parameter.
return Json(ReturnData, JsonRequestBehavior.AllowGet);
}Model
public class Filters
{
public string logic { get; set; }
public DateTime? FromDate { get; set; }
public DateTime? ToDate { get; set; }
public List<Filter> filters { get; set; }
public bool IsDailyHours { get; set; }
}