After upgrading to 2019.3.1023, server filtering fails after the first search. Chrome console shows the following error. The control is no longer functional after this error occurs. Any ideas?
VM1837:3 Uncaught TypeError: Cannot convert undefined or null to object
at eval (eval at compile (kendo.all.min.js:1), <anonymous>:3:55)
at init._renderHeader (kendo.all.js:32395)
at init._render (kendo.all.js:32492)
at init.refresh (kendo.all.js:32517)
at init.proxy (jquery-3.4.1.js:10502)
at init.trigger (kendo.all.js:164)
at init._process (kendo.all.js:7522)
at init.success (kendo.all.js:7257)
at success (kendo.all.js:7151)
at Object.n.success (kendo.all.js:6057)

I have created a Diagram (using the example from https://demos.telerik.com/aspnet-mvc/diagram) to show a workflow which is great, but i have an issue which im not sure is supported by the Diagram control.
I have a single parent box and then i can have one or more children from the parent, which works fine. If I have two children from the parent I want both children to then link to a single (same) child. I cant seem to be able to link a child to multiple parents. Is this possible?
I've attached an example image to show what's required.

Is there a way to wrap the Header text in the MVC grid?
I have tried putting a "\n" (new line) and a CHR(13) (carriage return) in the Title attribute and they don't work. Am i missing something or is it just not possible?
TIA
Bob Mathis

Hello All!
I have a question. I am making a grid and it is going to be connected to our SQL server. It's also going to have Batch Editing as we want our Admins too be able to update just by typing in the grid and not having to hit extra buttons to do it. I have a CRUD made already through ASP.NET. I'm sure that this will just be the start of the questions, but for now I just need 1 answered! Is it better to go with MVC or Core?
From what I gathered, MVC is for apps on phones as well as web and Core is strictly web? Or do I have that backwards? Anyway, if you could give me some good advice with which to go about this, I would appreciate it!
I have a SignalR process feeding updates to a viewModel using Kendo's observable. Everything is working was expected, but I needed to add a confirm popup for the user, and now it's not working as I expect it to. The singlaR process gets a specific value, in which case I update the javascript viewModel and ask the user a question via the javascript confirm function. What's happening is the updated viewmodel values aren't displaying on the screen until after the user answers the confirm. I expected the values on the screen to update before the confirm pops up, but that's not happening. How can I make it do so?
status.on("sendGTNProgress", function (theStats) { var statObj = JSON.parse(theStats); if (statObj.ProcessMessage === "FILE READY") { viewModel.set("processMessage", "GTN Report Generated and Ready for Download"); viewModel.set("processName", "File Name: " + statObj.ProcessName); viewModel.set("currentRecMsg", "Your report file is in the appropriate network directory"); viewModel.set("progressMsg", "@ConfigurationManager.AppSettings["ReportDir"]"); AskToDownload(); }});
function AskToDownload() {if (confirm("Do you want to download this file locally?")) { window.open("@Url.Action("GetGTNFile", @"GTNReport")?theFile=" + viewModel.get("processName").replace("File Name: ", ""), "_blank"); }}
I'm using Telerik for ASP.NET Core Wrappers, setting culture and format for column.
Display format is correct according to culture, the problem is that when I edit the field, format is always in English culture, with dot separator for decimal. When I save it, it considers the culture and ignore the dot because it is not the culture decimal separator.
Images:
DisplayMode.PNG - Ok
EditMode.PNG - Using dot as decimal separator - Not Ok
DisplayModeAfterChange - 20.6 is recognized as 206
Culture:
<script type="text/javascript"> kendo.culture("@System.Globalization.CultureInfo.CurrentCulture.ToString()");</script>
Column:
columns.Bound(p => p.PrecoDeVenda).Width(120).Format("{0: R'$' #,###,##0.##}")
DataSource:
.DataSource(dataSource => dataSource .WebApi() .Model(model => { ... }) .Batch(true) .Culture(System.Globalization.CultureInfo.CurrentCulture.ToString()) ... )
DataSource:
columns.Bound(p => p.PrecoDeVenda).Width(120).Format("{0: R'$' #,###,##0.##}")I've tried replicating the example code from the Autocomplete demo page, but for some reason the GetOccupations function in the controller is never called, nor can I see that the onAdditionalData function in the cshtml is ever called either. The dropdown control is produced on the page, but it contains no contents. I have created as valid ModelView. Please help me identify the disconnect that I am having here. Thanks!
Index.cshtml:
@model IEnumerable<HanleighEnrollment.Global.Models.CaseOccupation>
@using Kendo.Mvc.UI
@{
/**/
ViewBag.Title = "Index";
}
<h2>Index</h2>
<p>
@Html.ActionLink("Create New", "Create")
</p>
<div class="demo-section k-content">
@*<div class="control-label col-md-4">*@
<h4>Select an Occupation</h4>
@(Html.Kendo().AutoComplete()
.Name("occupations")
.DataTextField("Occupation")
.Filter("contains")
.MinLength(3)
.HtmlAttributes(new { style = "width:50%" })
.DataSource(source =>
{
source.Read(read =>
{
read.Action("GetOccupations", "Test")
.Data("onAdditionalData");
})
.ServerFiltering(true);
})
)
<div class="demo-hint">Hint: type "war"</div>
</div>
<script>
function onAdditionalData()
{
return
{
text: $("#occupations").val()
};
}
</script>
TestController.cs
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.Entity;
using System.Linq;
using System.Net;
using System.Threading.Tasks;
using System.Web;
using System.Web.Mvc;
using HanleighEnrollment.Global.Data;
using HanleighEnrollment.Global.Models;
namespace HanleighEnrollment.Admin.Controllers
{
public class TestController : Controller
{
private EfDbService db = new EfDbService();
// GET: TestController
public ActionResult Index()
{
return View(db.CaseOccupations.AsEnumerable());
}
public JsonResult GetOccupations(string text, int caseId)
{
var occupations = db.CaseOccupations.Select(occupation => new Global.Models.ViewModels.CaseOccupationViewModel
{
OccupationId = occupation.OccupationId,
CaseId = occupation.CaseId,
Occupation = occupation.Occupation,
JobDuties = occupation.JobDuties
});
if (!string.IsNullOrEmpty(text))
{
occupations = occupations.Where(p => p.CaseId == caseId && p.Occupation.Contains(text));
}
return Json(occupations, JsonRequestBehavior.AllowGet);
}
}
}


