I have a Telerik RadComboBox that is programmatically generated in C#. In the aspx file, I have this JavaScript function which I would like to deselect any disabled comboBox item when the "Check All" choice is selected.
function OnClientCheckAllChecked(sender, args) {
var checkedItems = sender.get_checkedItems();
for (var i = 0; i < checkedItems.length; i++) {
console.log(checkedItems[i].get_text());
if (checkedItems[i].get_enabled() === false) {
console.log("enabled is false for " + i);
checkedItems[i].set_checked(false);
}
console.log("checked is " + checkedItems[i].get_checked());
}
}However, it does not work as intended. The disabled item is still checked after clicking the "Check All".
Here is an image of the description:

Hello
I hvae just started to use line chart and i am using demo exmple but y axis looks very bad
@using Kendo.Mvc.UI;
@{
Layout = "~/Views/Shared/_Layout.cshtml";
}
<div id="page-wrapper">
<div class="row">
<div class="col-lg-12">
<div class="panel panel-default" style="min-height: 100px;">
<div class="panel-body index" style="padding: 0px">
Todays Totals
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-lg-2">
<div class="panel panel-default" style="min-height: 500px;">
<div class="panel-body index" style="padding: 0px">
Filters
</div>
</div>
</div>
<div class="col-lg-4">
<div class="panel panel-default" style="min-height: 500px;">
<div class="panel-body index" style="padding: 0px">
Sales by platform
</div>
</div>
</div>
<div class="col-lg-6">
<div class="col-lg-12">
<div class="panel panel-default" style="min-height: 400px;">
<div class="panel-body index" style="padding: 0px">
<div class="k-content wide">
@(Html.Kendo().Chart()
.Name("chart1")
.Title("Internet Users")
.Legend(legend => legend
.Position(ChartLegendPosition.Bottom)
)
.Series(series =>
{
series.Line(new double[] { 15.7, 16.7, 20, 23.5, 26.6 }).Name("World");
series.Line(new double[] { 67.96, 68.93, 75, 74, 78 }).Name("United States");
})
.CategoryAxis(axis => axis
.Categories("2005", "2006", "2007", "2008", "2009")
.MajorGridLines(lines => lines.Visible(false))
)
.ValueAxis(axis => axis
.Numeric().Labels(labels => labels.Format("{0}%"))
)
)
</div>
</div>
</div>
</div>
<div class="col-lg-12">
<div class="panel panel-default" style="min-height: 270px;">
<div class="panel-body index" style="padding: 0px">
Grid
</div>
</div>
</div>
</div>
</div>
</div>


Hello, I'm attempting to "undo" an "invalid" card move on a taskboard between 2 cols with specified states.
I'll add the HtmlHelper code:
@(Html.Kendo().TaskBoard()
.Name("kittingTaskBoard")
.ColumnSettings(s =>
{
s.TemplateId("column-template");
s.Width("320");
s.Buttons(b =>
{
});
})
.Columns(c =>
{
c.Add().Text("On Hold").Status("2");
c.Add().Text("New").Status("1");
c.Add().Text("In Work").Status("3");
c.Add().Text("Staged").Status("4");
c.Add().Text("Verified").Status("5");
})
.Editable(false)
.DataDescriptionField("ShipNumber")
.DataTitleField("Control")
//.DataOrderField("PriorityId")
.DataStatusField("StatusId")
.TemplateId("card-template")
.Events(events => events.MoveStart("onKitSessionStartMove").MoveEnd("onKitSessionMove"))
.DataSource(source => source.Ajax().Read(read => read.Action("GetKittingQueue", "Fulfillment")))
.Height("980")
.Events(ev => ev.DataBound("onDataBound").ColumnsDataBound("onColumnsDataBound")))I'll add the validation code:
const manager = {
claim: function(id, uid) {
$.ajax('@Url.Action("ClaimKitSession", "Fulfillment")',
{
method: "Post",
data: getAntiForgeryToken({ id })
}).done(function(response) {
notify(response);
}).fail(function(error) {
notify(error.responseJSON);
});
},
valid: function(from, to) {
console.log(`[valid]: ${from} > ${to}`);
if ((from === "3" && to === "1") // InWork > New
||
(from === "3" && to === "2") // InWork > OnHold
||
(from === "4" && to === "3") // Staged > InWork
||
(from === "5" && to === "4") // Verified > Staged
||
(from === "1" && to === "4") // New > Staged
||
(from === "1" && to === "5") // New > Verified
) {
return false;
}
return true;
}
}I'll add the Move Event code:
function onKitSessionStartMove(e) {
state.card = null;
state.col = "0";
}
function onKitSessionMove(e) {
if (state.card !== null) {
if (!isUndefined(e.card)) {
if (e.card.RowId === state.card.RowId) {
if (!isUndefined(e.column)) {
if (e.column.Status === state.col) {
return;
}
}
}
}
} else {
state.card = e.card;
state.col = e.column.Status;
return;
}
state.card = e.card;
state.prev = state.col;
state.col = e.column.Status;
setBadgeText();
if (manager.valid(state.prev, state.col)) {
if (state.col === "3") {
manager.claim(state.card.RowId);
}
} else {
toastr.warning("Invalid action prevented, you do not have permission to perform this action",
"Warning",
{ positionClass: "toast-bottom-right", containerId: "toast-bottom-right" });
}
}I was wondering If i could there was a card function or something I can call when the validation fails to move it back to it's previous column?

Need an example of how to use a date picker to change the date field in a Keno grid. The examples I can find only show a dropdown. I have not problem get this to work on the client side. But I can not find anything that show how to return the updated value back to the server.
Razor page:
@(Html.Kendo().Grid<Pages.EditContract>()
.Name("grid")
.Editable(editable => editable.Mode(GridEditMode.InCell))
.Columns(columns =>
{
columns.Bound(p => p.StartDate);
columns.Bound(p => p.EndDate).ClientTemplate("#=EndDate#").Sortable(false).Width(180).Format("MM/dd/yyyy");
})
.DataSource(ds => ds.Ajax()
.Model(model =>
{
model.Id(p => p.Id);
model.Field(p => p.StartDate).Editable(false);
model.Field(p => p.EndDate).Editable(true);
})
.Read(r => r.Url("/Edit?handler=Read").Data("forgeryToken"))
.Update(r => r.Url("/Edit?handler=Update").Data("forgeryToken"))
.Model(m => m.Id(id => id.Id))
.PageSize(4)
)
//.Events(ev => ev.DataBound("db"))
)
Edit Template:
@model ContractorManagment.Models.Contract
@(Html.Kendo().DatePicker()
.Name("EndDate") // The name of the DatePicker is mandatory. It specifies the "id" attribute of the widget.
.Format("MM/dd/yyyy")
//.Value(Model.EndDate) // Sets the value of the DatePicker.
)
If it was not in a grid all you have to do is set the .Value property. But that does not work when it is in a grid.
Hello,
The only way we can access the beforeEdit Event on a kendo grid is with javascript. shouldnt this be accessible through the Kendo.Mvc.UI.Fluent.GridEventBuilder? attached are just images showing that it errors and that we are using Kendo version 2017.2.621.340 as our dll.
the way we did get it to work is by binding it via javascript with this code (for anyone that wants to know how to get this event to work)
$(document).ready(function () {
var grid = $("#BrandsGrid").data("kendoGrid");
grid.bind("beforeEdit", function (e) {
alert("Before Edit");
});
})
but its weird to have 2 of your events using the grid builder and then 1 of your events bound through javascript makes it easy for a developer to miss that the event exists which can lead to them not fully understanding what is happening upon editing the grid.
Thanks,
Thomas

Hello,
I am using the exact example give below in my project:
https://demos.telerik.com/aspnet-mvc/pdf-export
But when i browse this url in my iPhone Safari browser, I am not able to export the PDF. Export as Image and SVG works though. I am seeing the same issue in my project too. Any solution for this?
Thanks
Meera

Hi! I've been trying to figure this out for days. I have a template that works as detail table of a Kendo grid. Inside this template i have several columns wich data I CAN SEE right. But, one column in particular, that include a client template, is always null. When i get ride of the client template i can see the data on the grid provided by the server, but each time I include the client template, the column is null (html code below)
The first column Adjunto works greats, the seconde one is always null. As it can be seen, there are other client template in the grid that work propery. What can i be doing wrong? Thanks in advance. (I added the view with the two columns righ below)

I would like to hide the last column in my grid.
How can I do this?
Here's my code:
@(Html.Kendo().Grid<GoodNeighbor.Models.TrackingList>()
.Name("TrackingListGrid")
.Columns(c =>
{
c.Bound(t => t.TrackingListId).Hidden(true);
c.Bound(t => t.FirstName).Width(115).Title("First Name");
c.Bound(t => t.LastName).Width(115).Title("Last Name");
c.Bound(t => t.Email).Width(150);
c.Bound(t => t.Date).Width(90).ClientTemplate("#= kendo.toString(kendo.parseDate(CreatedDate), 'MM/dd/yyyy') #");
c.Bound(t => t.Hours).Width(85);
c.Bound(t => t.VolunteerOrganization).Width(120).Title("Volunteer Organization");
c.Bound(t => t.ReponseCopy).Width(115).Title("Reponse Copy");
c.Bound(t => t.Phone).Width(85);
c.Bound(t => t.Location).Width(85);
c.Bound(t => t.CreatedDate).Hidden(true);
c.Bound(t => t.ModifiedDate).Hidden(true);
c.Bound(p => p.TrackingListId).ClientTemplate("<a href='" + Url.Action("Create", "TrackingList") + "/#= TrackingListId #'" + ">Details</a>"); // Details link
})
.HtmlAttributes(new { style = "height: 400px;" })
.Scrollable()
.Groupable()
.Sortable()
.Filterable()
.Pageable(pageable => pageable
.Refresh(true)
.PageSizes(true)
.ButtonCount(5))
.DataSource(dataSource => dataSource
.Ajax()
.PageSize(20)
.Read(r => r.Action("TrackingListRead", "TrackingList").Data("sendAntiForgery"))
.Model(model => model.Id(p => p.TrackingListId))
.Events(events => events.Error("onError"))
)
)
