When deleting an item a prompt message will appear:
if a single occurrence: "Are you sure you want to delete this event?" <Delete> <Cancel>
if recurrence: "Do you want to delete only this event occurrence or the whole series?" <Delete current occurrence> <Delete the series>
I would like to add in the title of the event to the prompt text so the user can verify her/she is deleting the proper event.

Hi,
I am trying to get a click event on my sortable panels and I am not having the best of luck. Basically I have 3 columns (i.e. #main-content1) that can have 1 - 4 panels in each column and I need to go to a specific page based on what panel is clicked.
I am using the following:
@(Html.Kendo().Sortable()
.For("#main-content1")
.ConnectWith("#main-content2,#main-content3")
.Cursor("move")
.PlaceholderHandler("placeholder")
.HintHandler("hint")
)
@(Html.Kendo().Sortable()
.For("#main-content2")
.ConnectWith("#main-content1,#main-content3")
.Cursor("move")
.PlaceholderHandler("placeholder")
.HintHandler("hint")
)
@(Html.Kendo().Sortable()
.For("#main-content3")
.ConnectWith("#main-content1, #main-content2")
.Cursor("move")
.PlaceholderHandler("placeholder")
.HintHandler("hint")
)
This is what I am using to render the tiles:
@helper renderTiles(IPublishedContent Section)
{
var title = Section.GetPropertyValue<string>("Title", String.Empty);
var link = Section.GetPropertyValue<string>("link", String.Empty);
var id = Section.GetPropertyValue("Icon", -1);
<div id = "blogs" class="widget">
<h3>@title<span class="collapse k-icon k-i-arrowhead-n"></span></h3>
<div class="widget-image">
@if(ImageId != -1)
{
<img src="@Umbraco.TypedMedia(id).Url" alt="=@Umbraco.TypedMedia(id).Name"/>
}
</div>
</div>
}
I have tried the following:
$(document).ready(function ()
{
$("#blogs").on("click", function (e)
{
alert("Hello");
});
}
But I only get an alert on the first panel in the first column.
Any ideas/pointers would be appreciated.
Thanks
columns.Command(command => { command.Edit(); command.Destroy(); command.Custom("Copy").Click("CopyPOLine").HtmlAttributes(new { @class = "k-copy-icon"}); }).Width(175);<a class="k-button k-button-icontext k-grid-Copy" href="#"><span class=" "></span>Copy</a>getting the error in the title when i try to view any 'view' of the scheduler other than 'month'. Below is my scheduler code:
@using Kendo.Mvc.UI;
<div>
@(Html.Kendo().Scheduler<CoBRAMVC4Portal.Areas.Admin.Models.ExerciseCalendarModel>()
.Name("exSched")
.Date(System.DateTime.UtcNow.Date)
.Views(views =>
{
views.DayView();
views.WorkWeekView();
views.WeekView();
views.MonthView(monthView => monthView.Selected(true));
})
.Timezone("Etc/UTC")
.Editable(false)
.Group(group => { group.Resources("ExerciseGUID"); group.Date(true); })
.DataSource(d => d
.Model(m =>
{
m.Id(f => f.ProjectGUID);
m.Field(f => f.ExerciseLevelGUIDs);
m.Field(f => f.IncidentCategoryGUIDs);
})
.Read(read => read.Action("_GetExerciseListCalendarAsDates", "Exercise", new { area = "Admin", id = ViewContext.RouteData.Values["id"] }).Type(HttpVerbs.Get))
)
.Events(e =>
{
e.DataBound("scheduler_dataBound");
e.DataBinding("scheduler_dataBinding");
})
.EventTemplate("<div class='media' style='margin:0px;'>" +
"<div class='media-body' style='padding:5px 0 0;margin:0px;'><h5 title='#=title#' style='padding:0 8px 5px;margin:0px;' class='media-heading'>#= title #</h5></div>" +
"<div class='media-right'><a class='btn btn-default btn-xs' title='" + CoBRALocalization.MVC.RootResource.OpenLink + "' href='" + Url.Action("ExerciseView", "Exercise", new { area = "Admin" }, Request.Url.Scheme) + "?StaticGUID=#=StaticGUID#' >" +
"<span class='fa fa-folder-open'></span></a></div>" +
"</div>")
)
</div>
<script>
function scheduler_dataBound(e) {
}
function scheduler_dataBinding(e) {
//Handle the dataBinding event.
}
</script>
everything works fine in the month view

Hey there guys and girls, i am try to implement a cascading dropdown list in a grid. I want values in the second list to be dictated by the users choice from the first list and the third list should be dictated by the users choice from the second list. The examples i have seen online are not clear on how the filter fuctions are called, so i am quite confused and i don't know how to proceed. Here is my code.
Here are the objects
PlanScriptVM.cs
using System;using System.Collections.Generic;using System.Linq;using System.Web;namespace P2I_UI.Models.ViewM{ public class PlanScriptureVM { public int PlanScriptureID { get; set; } public int MaterialCategoryID { get; set; } // public virtual List<MaterialCategoryVM> Materials { get; set; } public int ProductID { get; set; } // public virtual List<ProductVM> Products { get; set; } public int ProductTypeID { get; set; } // public virtual List<ProductTypeVM> ProductTypes { get; set; } public int TotalCalculation { get; set; } public int AdultEOY { get; set; } public int YouthEOY { get; set; } public int ChildrenEOY { get; set; } public int TotalProjection { get; set; } public int AdultQ1 { get; set; } public int YouthQ1 { get; set; } public int ChildrenQ1 { get; set; } public int AdultQ2 { get; set; } public int YouthQ2 { get; set; } public int ChildrenQ2 { get; set; } public int AdultQ3 { get; set; } public int YouthQ3 { get; set; } public int ChildrenQ3 { get; set; } public int AdultQ4 { get; set; } public int YouthQ4 { get; set; } public int ChildrenQ4 { get; set; } }}
MaterialCategory.cs
using System;using System.Collections.Generic;using System.Linq;using System.Web;namespace P2I_UI.Models{ public class MaterialCategory { public int MaterialCategoryID { get; set; } public string MaterialCategoryName { get; set; } public bool Active { get; set; } }}
Products.cs
using System;using System.Collections.Generic;using System.Linq;using System.Web;namespace P2I_UI.Models{ public class Product { public int ProductID { get; set; } public string ItemNumber { get; set; } public int ProductTypeID { get; set; } public int MaterialCategoryID { get; set; } public bool Active { get; set; } }}
ProductType.cs
using System;using System.Collections.Generic;using System.Linq;using System.Web;namespace P2I_UI.Models{ public class ProductType { public int ProductTypeID { get; set; } public string ProductTypeName { get; set; } public bool Active { get; set; } }}
Controller
using Kendo.Mvc.Extensions;using Kendo.Mvc.UI;using System.Collections.Generic;using System.Data;using System.Linq;using System.Web.Mvc;namespace P2I_UI.Controllers{ public class ScriptureController : Controller { readonly string defaultController = "PlanBudget"; P2IApiActions actions = new P2IApiActions(); public List<MaterialCategory> GetMaterial() { var materialCategories = new List<MaterialCategory>(); materialCategories.Add(new MaterialCategory { MaterialCategoryID = 1, MaterialCategoryName="Bible", Active = true}); materialCategories.Add(new MaterialCategory { MaterialCategoryID = 2, MaterialCategoryName = "E&D", Active = true }); materialCategories.Add(new MaterialCategory { MaterialCategoryID = 3, MaterialCategoryName = "P&A", Active = true }); return materialCategories; } public List<Product> GetProducts() { var products = new List<Product>(); products.Add(new Product { ProductID = 1, ItemNumber = "B-ENG-6377", ProductTypeID = 1, MaterialCategoryID = 1, Active = true }); products.Add(new Product { ProductID = 2, ItemNumber = "B-GER-6378", ProductTypeID = 1, MaterialCategoryID = 1, Active = true }); products.Add(new Product { ProductID = 3, ItemNumber = "B-JAP-6379", ProductTypeID = 1, MaterialCategoryID = 1, Active = true }); products.Add(new Product { ProductID = 4, ItemNumber = "ED-ENG-637", ProductTypeID = 2, MaterialCategoryID = 2, Active = true }); products.Add(new Product { ProductID = 5, ItemNumber = "ED-GER-637", ProductTypeID = 2, MaterialCategoryID = 2, Active = true }); products.Add(new Product { ProductID = 6, ItemNumber = "ED-JAP-637", ProductTypeID = 2, MaterialCategoryID = 2, Active = true }); products.Add(new Product { ProductID = 7, ItemNumber = "PA-ENG-6377", ProductTypeID = 3, MaterialCategoryID = 3, Active = true }); products.Add(new Product { ProductID = 8, ItemNumber = "PA-GER-6378", ProductTypeID = 3, MaterialCategoryID = 3, Active = true }); products.Add(new Product { ProductID = 9, ItemNumber = "PA-JAP-6379", ProductTypeID = 3, MaterialCategoryID = 3, Active = true }); return products; } public List<ProductType> GetProductTypes() { var productTypes = new List<ProductType>(); productTypes.Add(new ProductType { ProductTypeID = 1, ProductTypeName = "Bible ER", Active = true }); productTypes.Add(new ProductType { ProductTypeID = 2, ProductTypeName = "EngDan Bible ED", Active = true }); productTypes.Add(new ProductType { ProductTypeID = 3, ProductTypeName = "PriAud Bible PA", Active = true }); return productTypes; } // GET: Scripture public PartialViewResult Index() { return PartialView(); } public ActionResult Scripture_Read([DataSourceRequest]DataSourceRequest request) { TempData["MaterialList"] = GetMaterial(); TempData["ProductList"] = GetProducts(); TempData["PrductTypeList"] = GetProductTypes(); ViewBag.MaterialsList = new SelectList(GetMaterial().OrderBy(m => m.MaterialCategoryID), "MaterialCategoryID", "MaterialCategoryName"); ViewData["MaterialsList"] = new SelectList(GetMaterial().OrderBy(m => m.MaterialCategoryID), "MaterialCategoryID", "MaterialCategoryName"); ViewBag.ProductsList = new SelectList(GetProducts().OrderBy(p => p.ProductID), "ProductID", "ItemNumber"); ViewBag.PrductTypesList = new SelectList(GetProductTypes().OrderBy(pt => pt.ProductTypeID), "ProductTypeID", "ProductTypeName"); var result1 = new List<PlanScriptureVM>(); return Json(result1.ToDataSourceResult(request)); } public JsonResult GetProducts(int materialCategoryId) { var products = GetProducts(); var filteredProduct = products.Where(mcid => mcid.MaterialCategoryID == materialCategoryId); return Json(filteredProduct, JsonRequestBehavior.AllowGet); } public JsonResult GetProductTypes(int productTypeId) { var productTypes = GetProductTypes(); var filteredProductTypes = productTypes.Where(ptid => ptid.ProductTypeID == productTypeId); return Json(filteredProductTypes, JsonRequestBehavior.AllowGet); } }}
And finally the Index.cshtml
@(Html.Kendo().Grid<P2I_UI.Models.ViewM.PlanScriptureVM>() .Name("grid") .Columns(columns => { columns.Group(ScriptureGroup => ScriptureGroup .Title("Scriture") .Columns(dd => { dd.ForeignKey(e => e.MaterialCategoryID, (SelectList)ViewBag.MaterialsList).Title("Type").Width(40).HeaderHtmlAttributes(new { style = "font-weight: normal; font-size:75%" }).HtmlAttributes(new { @style = "text-align:center; font-weight: normal; font-size:75%" });//.EditorTemplateName("MaterialCategoryID"); dd.ForeignKey(e => e.ProductID, (SelectList)ViewBag.ProductsList).Title("Item No").Width(40).HeaderHtmlAttributes(new { style = "font-weight: normal; font-size:75%" }).HtmlAttributes(new { @style = "text-align:center; font-weight: normal; font-size:75%" });//;.EditorTemplateName("ProductID"); dd.ForeignKey(e => e.ProductTypeID, (SelectList)ViewBag.PrductTypesList).Title("Descript").Width(40).HeaderHtmlAttributes(new { style = "font-weight: normal; font-size:75%" }).HtmlAttributes(new { @style = "text-align:center; font-weight: normal; font-size:75%" });//.EditorTemplateName("ProductTypeID"); }) ); columns.Group(OuterProjGroup => OuterProjGroup .Title("Proj.") .Title("EOY Inv") .Columns(opg => { opg.Bound(e => e.TotalCalculation).Title("Total Calc").Width(40).HeaderHtmlAttributes(new { style = "font-weight: normal; font-size:75%" }).HtmlAttributes(new { @style = "text-align:center; font-weight: normal; font-size:75%" }); }) ); columns.Group(OuterProjectedGroup => OuterProjectedGroup .Title("Projected EOY.") .Columns(optg => { optg.Group(InnerProjectedGroup => InnerProjectedGroup .Title("Inventory Assigned.") .Columns(iptg => { iptg.Bound(e => e.AdultEOY).Title("Adult").Width(40).HeaderHtmlAttributes(new { style = "font-weight: normal; font-size:75%" }).HtmlAttributes(new { @style = "text-align:center; font-weight: normal; font-size:75%" }); iptg.Bound(e => e.YouthEOY).Title("Youth").Width(40).HeaderHtmlAttributes(new { style = "font-weight: normal; font-size:75%" }).HtmlAttributes(new { @style = "text-align:center; font-weight: normal; font-size:75%" }); iptg.Bound(e => e.ChildrenEOY).Title("Children").Width(40).HeaderHtmlAttributes(new { style = "font-weight: normal; font-size:75%" }).HtmlAttributes(new { @style = "text-align:center; font-weight: normal; font-size:75%" }); }) ); }) ); columns.Group(OuterProjGroup => OuterProjGroup .Title("Proj.") .Title("EOY Inv.") .Columns(opg => { opg.Bound(e => e.TotalProjection).Title("Total Proj").Width(40).HeaderHtmlAttributes(new { style = "font-weight: normal; font-size:75%" }).HtmlAttributes(new { @style = "text-align:center; font-weight: normal; font-size:75%" }); }) ); }) .ToolBar(toolbar => { toolbar.Create(); toolbar.Save(); }) .Editable(editable => editable.Mode(GridEditMode.InCell)) .DataSource(dataSource => dataSource .Ajax() .Batch(true) .ServerOperation(false) .Events(events => { events.Error("error_handler"); }) .Model(model => { model.Id(e => e.PlanScriptureID); model.Field(e => e.ProductTypeID).Editable(false); }) .PageSize(5) .Create(read => read.Action("Scripture_Create", "Scripture")) .Read(read => read.Action("Scripture_Read", "Scripture")) .Update(read => read.Action("Scripture_Update", "Scripture")) ))<script type="text/javascript"> function error_handler(e) { if (e.errors) { var message = "Errors:\n"; $.each(e.errors, function (key, value) { if ('errors' in value) { $.each(value.errors, function() { message += this + "\n"; }); } }); alert(message); } } function getCurrentEditedModel() { var grid = $("#grid").data("kendoGrid"); var editRow = grid.tbody.find("tr:has(.k-edit-cell)"); return grid.dataItem(editRow); } function filterProducts() { var model = getCurrentEditedModel(); return { materialCategoryId: model.MaterialCategoryID }; } function filterProductTypes() { var model = getCurrentEditedModel(); return { productTypeID: model.ProductTypeID }; }</script>
Thanks for the help
I am using Kendo Grid with Angular. I need to call the grid only after the return of a promise. However, placing a call to the grid in the "THEN" causes the grid to never load. Even if I make a direct call to dataSource.read(); it will not read the datasource.
Here is my code:
function initialize() {
var savedSearchCriteria;
var promise = isFiltered();
promise.then(function() {
savedSearchCriteria = $window.localStorage.getItem('pecGeneralSearchCriteria');
}).then(function () {
searchGrid();
});
};
A call to searchGrid() outside of the "THEN" for the promise works fine.

The detail template grid is not binding the data properly. If I expand one by one from top to bottom, it only binds the data for the first row and the grid inside all other rows are empty. If I expand them from bottom to top, it binds the data properly for all the rows. Any idea why it's doing this?
@(Html.Kendo().Grid<EmailInvitationViewModel>()
.Name("EmailInviteeGrid")
.Columns(columns =>
{
columns.Bound(e => e.EmailInviteID).Hidden(true);
columns.Bound(e => e.InvitationDate).Title("Invited On").Hidden(false);
columns.Bound(e => e.ClassDetails).Filterable(ftb => ftb.Cell(cell => cell.Operator("contains"))).Title("Class Details");
})
.Sortable()
.Filterable(ftb => ftb.Mode(GridFilterMode.Row))
.Pageable(pageable => pageable
.Refresh(true)
.PageSizes(true)
.ButtonCount(5))
.ClientDetailTemplateId("template")
.DataSource(dataSource => dataSource
.Ajax()
.PageSize(10)
.Read(read => read.Action("GetAllInvitedEvents", "Controller", new { Model.EventID }))
))
)
<script id="template" type="text/kendo-tmpl">
@(Html.Kendo().Grid<EmailInvitationViewModel>()
.Name("grid_#=EmailInviteID#")
.Columns(columns =>
{
columns.Bound(o => o.GridInviteeEmail);
})
.DataSource(dataSource => dataSource
.Ajax()
.PageSize(10)
.Read(read => read.Action("GetAllInviteeEmailsByEvent", "DataSource", new { EventID = "#=EventID#", EmailInviteID = "#=EmailInviteID#" }))
)
.Pageable()
.Sortable()
.ToClientTemplate()
)
</script>
Hi,
We are evaluating the Kendo UI.
Development machine : Windows 7 Professional
VS 2017
Our ASP .NET MVC web application uses lot of charts : Html.Kendo().Chart
This works fine in dev machine. When deployed to Windows 2008 Server, the chart part doesn't render.
We used the Developer Tools in Browser. The following gets downloaded in both cases:
- http://kendo.cdn.telerik.com/2017.2.621/styles/kendo.common.min.css
- http://kendo.cdn.telerik.com/2017.2.621/styles/kendo.default.min.css
- /webapp/Content/Css/bootstrap-flaty.min.css
- /webapp/Content/Css/Site.css
- /webapp/Scripts/jquery-3.1.1.min.js
- http://kendo.cdn.telerik.com/2017.2.621/js/kendo.all.min.js
- /webapp/Scripts/bootstrap.min.js
- http://kendo.cdn.telerik.com/2017.2.621/js/kendo.aspnetmvc.min.js
Looks like this could be a configuration problem. Any idea what's wrong ?
Aditya

Hello,
I am trying to import a slightly more complicated spreadsheet which includes formulas, calculations etc but I get the following error :
Telerik.Windows.Documents.Spreadsheet.Utilities.LocalizableException: 'Format string is not in the correct format.'
I am using your demo as an example : https://demos.telerik.com/aspnet-mvc/spreadsheet/server-side-import-export .
Could you please help me solve this ?
Thanks,
Georgios

Hi,
Is it possible to set conditional formatting for one cell, depending from another cell value? I mean something like this:
[A1>100][GREEN]#,##0;[A1<=-100][YELLOW]#,##0;[CYAN]#,##0
