I would like to refersh a layer in a kendo Map, there are 8 layers, but only want to refresh layer 1.
This would occur on a button click event.
my datasource for the layer is
.DataSource(source => source
.Custom()
.Transport(transport => transport
.Read(read =>
{
read.Url("/Api/EventInfo/_P4BubbleAreas/" + Model.showEventP4.ToString())
.DataType("json");
})
)
)
Hi,
I have a partial view that is referring to a model. I can open multiple models at the same time, which reflects in having that particular partial view shown multiple times.
The problem now is that every controlinside of it has an id (grids, multiselects ...), and by showing it multiple times I get into the situation that I have multiple controls with a same id.
Actually I can open it just 2 times, bcz then the controls get "broken" and dont load properly anymore (I need to refresh the page to get it working again).
Is there a way around that, best practice or smt ?
Regards

Hi,
i want to change the text color of a foreign key column depending on the values of two other columns.
I do this for a bounded column using a client template:
columns.Bound(p => p.CompanyAlternative).ClientTemplate("# if ( LeIdOriginal === LeIdAlternative) { # <div> #= CompanyAlternative # </div> # } else { # <div style='color: rgb(225,0,15);'> #= CompanyAlternative # </div> # } #");
But how can i achieve this for a foreign key?
Thanks
Michael
Hello,
I have a custom command column in my grid as seen below. I would like to change the text of the button from "Activate" to "Deactivate" based on 2 other cells values in the row. How can I do this? Thanks.
col.Command(command => command.Custom("Activate").Click("activate_deactivate")).Locked(true).Width(140);
Hi,
I have pretty complex appointment classes (with lots of dependencies). Now when I want to display them inside the scheduler I just read the most important information (start, end, title ...). But when I want to edit the appointment with my custom template, I want to load all the additional information (it would be too slow to load all that data for the scheduler).
So is there a possiblity to "reload" my object before showing it inside the template ?
Regards
Semir

I have a grid that I want to display inside a ClientTemplate, but the datasource is not binding
What am I missing to get the bind to occur.
Thanks
@(Html.Kendo().Grid<WebSite.Library.Models.SiteCriteria>()
.Name("siteCriteriaCriteria")
.Columns(columns =>
{
columns.Bound(p => p.siteId).Title("siteId").Width(50).Hidden();
//columns.Bound(p => p.premiseAreaId).Title("premiseId").Width(50).Hidden();
columns.Bound(p => p.areaId).Title("AreaId").Width(50).Hidden();
columns.Bound(p => p.name).Title("Hazard Area").Width(150);
columns.Template(p => "").Title("criteria").ClientTemplate(
Html.Kendo().Grid<WebSite.Library.Models.SiteCriteria>()
.Name("areaCriteria#=areaId#")
.Columns(c =>
{
c.Bound(e1 => e1.name).Title("Training").Width(100);
})
.AutoBind(true)
.DataSource(source1 => source1
.Custom()
.Transport(transport => transport
.Read(read =>
{
read.Url("/Api/SiteInfo/_getTrainingAreas/_si=12117")
.DataType("json");
})
))
.ToClientTemplate()
.ToHtmlString()
);
})
//.Events(events => events.Remove("onRemove"))
.NoRecords("No criteria exists.")
.DataSource(source => source
.Custom()
.Transport(transport => transport
.Read(read =>
{
read.Url("/Api/SiteInfo/_getPremiseArea/_si=" + Model.SiteId )
.DataType("json");
})
))
)
Please i need someone can help me with this problem.
I'm trying to send the selected rows into a controller when i click on the button with id="send", the issue is that when i tried to send other values( in this case a number and a string) with the selected rows values, the selected rows values is sending null to the controller but the number and the string isn't null in the controller parameters.
This is my javascript code that works fine if only i send the selected rows values:
$('#send').click(function () {
var items = {};
var grid = $('#grid').data('kendoGrid');
var selectedElements = grid.select();
for (var j = 0; j < selectedElements.length; j++) {
var item = grid.dataItem(selectedElements[j]);
items['grid[' + j + '].ParecidoCodigo'] = item.ParecidoCodigo;
}
$.ajax({
url: '@Url.Action("Index", "Busqueda")',
type: "POST",
async: false,
data: items,
success: function (result) {
console.log(result);
}
})
})
and this is my controller method action:
public ActionResult Index(MarcaParecido[] grid)
{
...
}
Everything works fine until now.
BUt when i tried to send another values like this:
$('#send').click(function () {
var items = {};
var grid = $('#grid').data('kendoGrid');
var selectedElements = grid.select();
var enviarDest = $('#destinatario').val();
var marca = $('#numMarca').val();
for (var j = 0; j < selectedElements.length; j++) {
var item = grid.dataItem(selectedElements[j]);
items['grid[' + j + '].ParecidoCodigo'] = item.ParecidoCodigo;
}
$.ajax({
url: '@Url.Action("Index", "Busqueda")',
type: "POST",
async: false,
data: { items, marcas: marca, destinatario: enviarDest },
success: function (result) {
console.log(result);
}
})
})
The selected rows values is sending me null, but hte others values isn't null
This is my controller now:
public ActionResult Index(MarcaParecido[] grid, string marcas, string destinatario)
{...}
Please i really need your help with this, i don't know what else can i do to send all the values when i click the button.
I tried with JSON.stringify too but it doesn't work :(
I'll wait for your answers. Big hugs.
I have a Telerik Grid for asp.net MVC 4 using Kendo 2014.
The grid has a 1 foreign key and I am using the foreign key template.
The Grid is working properly as far as CRUD operations, however, the GridData source is not getting updated. Consequently when trying to use the new updated values from the grid.dataSource (visible in the grid) I am getting the old values:
I have tried to update the datasource but am not able to get any of the prescribed datasource events events triggered other than events.change which is not specific enough.
Here is my Grid:
@(Html.Kendo().Grid<PMTWebReconcile.Models.ProcEquipViewModel>() .Name("ProcEqGrid") //.HtmlAttributes(new { style = "height: 480px; margin-left: 260px" }) .Events(events => events.Edit("onEdit"))//.Events(events => events.Change("onChange")) .Columns(columns => { columns.Bound(p => p.peqID).Width(20).Title("ID"); columns.Bound(p => p.peqName).Width(120).Title("Name"); columns.Bound(p => p.peqTag).Width(120).Title("Tag"); columns.Bound(p => p.peqDescription).Width(200).Title("Description"); columns.ForeignKey(p => p.eqtID, (System.Collections.IEnumerable)ViewData["EqptTypes"], "TypeID", "Type").Title("Eqpt Type").Width(200); //columns.Bound(p => p.eqtID).Width(120).ClientTemplate("<span tabindex='0' class='k-widget k-dropdown k-header' unselectable='on'><span class='k-dropdown-wrap k-state-default' unselectable='on'><span class='k-input' unselectable='on'>Select Type</span><span class='k-select'><span class='k-icon k-i-arrow-s'>select</span></span></span><input name='Type' id='Type' style='display: none;' type='text' data-role='dropdownlist'></span>"); columns.Bound(p => p.peqID).Width(10).Title("Edit Sizes") .ClientTemplate("<button type='button' onclick=\"EditProcEquipment(this);\" text='text' class='k-button k-button-icontext k-grid-edit' style='min-width: 30px; min-height: 25px; height: 25px; padding-top: 0; padding-right: 0;'><span class='k-icon k-edit'></button>"); columns.Bound(p => p.peqActive).Width(30); columns.Command(commands => commands.Edit().HtmlAttributes(new { style = "min-width:64px;width:80px" }); //commands.Delete().ButtonType(GridButtonType.Image); }).Width(200); }) .ToolBar(toolbar => { toolbar.Create(); toolbar.Save(); }) // toolbar.Save(); }) //.ToolBar(toolBar => toolBar.Template("<a class='k-button k-button-icontext k-grid-add' href='#' onlick='customCreateCmd()'>Add new record</a>")) .HtmlAttributes(new { style = "veritcal-align:top" }) .Selectable(s => s.Mode(GridSelectionMode.Single)) //.Selectable(s => s.Mode(GridSelectionMode.Multiple)) //.Editable(editable => editable.Mode(GridEditMode.InLine)) // Use inline editing mode. .Editable(editable => editable.Mode(GridEditMode.InCell)) .Pageable() .Sortable() .Filterable() .DataSource(dataSource => dataSource .Ajax() .Batch(true) .ServerOperation(false) .Events(events => events.Error("errorHandler").Sync("onSync").RequestEnd("onRequestEnd"))//.Sync("sync_handler")) //.Events(events => events.RequestEnd("onRequestEnd")) //.Events(events => events.Change("onChange")) //.Events(events => events.Push("onPush")) //.Events(events => events.Edit("onEdit")) .AutoSync(true) .Model(model => { model.Id(p => p.peqID); // Specify the property which is the unique identifier of the model. model.Field(p => p.peqID).Editable(false); // Make the ProductID property not editable. //model.Field(p => p.Type).DefaultValue(new PMTWebReconcile.Models.EquipTypeViewModel()); model.Field(p => p.eqtID).DefaultValue(16); model.Field(p => p.plsID);//need to come from treeview selector //model.Field(p => p.plsID).DefaultValue(Html.Kendo().TreeView("tvPH").select()); }) .Read(read => read.Action("ForeignKeyColumn_Read", "PlantHierArchy", new { plsID = (subUnitID) })) .Create(create => create.Action("ForeignKeyColumn_Create", "PlantHierArchy")) .Update(update => update.Action("ForeignKeyColumn_Update", "PlantHierArchy").Type(HttpVerbs.Post).Data("UpdateHandler")) ) //.ClientDetailTemplateId )And my corresponding Update and Insert which are updating the Database Successfully.
[AcceptVerbs(HttpVerbs.Post)] public ActionResult ForeignKeyColumn_Create([DataSourceRequest] DataSourceRequest request, [Bind(Prefix = "models")]IEnumerable<ProcEquipViewModel> procEqs) { var results = new List<ProcEquipViewModel>(); if (procEqs != null && ModelState.IsValid) { foreach (var proc in procEqs) { CreateProcEquip(proc); results.Add(proc); } } return Json(results.ToDataSourceResult(request, ModelState)); }[AcceptVerbs(HttpVerbs.Post)] public ActionResult ForeignKeyColumn_Update([DataSourceRequest] DataSourceRequest request, [Bind(Prefix = "models")]IEnumerable<ProcEquipViewModel> procEqs) { if (procEqs != null && ModelState.IsValid) { foreach (var proc in procEqs) { //productService.Update(product); UpdateProcEquip(proc); } } DataSourceResult DSR = procEqs.ToDataSourceResult(request, ModelState); JsonResult JR = Json(DSR); return JR; }How can I update my data source?
additionally it would also be nice to be able to capture and update other update items but The grid.datasource is the most important.
Hello Telerik team,
I just wanted to know if there are plans to decouple DataSourceRequest / DataSourceResult from the MVC subsystem ?
We want to use it between a WCF client and a WCF server but it does not serialize well with the SOAP MVC XML serializer.
We succeeded in serializing JSON in the WCF XMLmessage although it require us to convert/parse JSON to DataSourceRequest/DataSourceResult both at the client and the server.
By the way in order to achieve this the WCF hosting project has to reference a bunch of MCV assemblies just because the Kendo.Mvc.Ui assembly depends on it.
In addition to this serializing / deserializing JSON <-> DataSourceRequest/DataSourceResult is easy with the Newtonsoft JSON converter but it becomes complicated if we want to transfer an object instead of a JSON string (representing a serializable object similar to DataSourceRequest/DataSourceResult) ...
I may be wrong but it seems to me that all of this seems fairly complex for a task that sounds simple.
I saw the following post about using existing WCF service but I think this does work only with REST web service.
So is there any plan to be able :
- to use DataSourceRequest / DataSourceResult in wcf xml serialization out of the box
- to use the DataSourceRequest / DataSourceResult types in a convenient way without referencing all the MVC subsystem types (such as System.Web.Mvc.dll, System.Web.WebPages.dll, ...)
?
Thanks for your work and support,
Dev

Hi,
I use a Edit Template for the popup edit in my grid and it works fine except that if I change something and click save without closing the window the changes from the database (there are some computed columns) are reflecting in the grid but not in the popup - why?
(see also attached Pictures BeforeSave.jpg and AfterSave.jpg)
Isn't the popup window bind with MVVM in two way binding so changes in the grid should reflect in the window?
Robert
here is the html for the Template
<div class="container-fluid"> <div class="form-horizontal" style="width:750px" id="formFachgruppenzugehörig" name="formFachgruppenzugehörig"> @(Html.HiddenFor(m => m.Mitglied_ID, "")) @(Html.HiddenFor(m => m.Berechtigung_ID, "")) @(Html.HiddenFor(m => m.Sparte_ID, "")) @(Html.HiddenFor(m => m.Fachgruppe_ID, "")) @(Html.HiddenFor(m => m.FachgruppeSub_ID, "")) @(Html.HiddenFor(m => m.Fachgruppe_Version_ID, "")) @(Html.HiddenFor(m => m.Berufsgruppe_ID, "")) @(Html.HiddenFor(m => m.Berufsgruppe_Version_ID, "")) @(Html.HiddenFor(m => m.RowVersion, "")) @(Html.HiddenFor(m => m.Timestamp, "")) <div class="row p-h-xs"> <div class="form-group m-xxs"> <label class="col-sm-3 control-label">Sparte:</label> <div class="col-sm-9"> <p class="gpdbform-control-static"> <span class="label label-success pull-right">@(Html.ValueFor(m => m.Sparte_ID, ""))</span> <span data-bind="text: Sparte"></span> </p> </div> </div> <div class="form-group m-xxs"> <label class="col-sm-3 control-label">Fachgruppe:</label> <div class="col-sm-9"> <p class="gpdbform-control-static"> <span class="label label-success pull-right">@(Html.ValueFor(m => m.Fachgruppe_ID, ""))</span> <span data-bind="text: Fachgruppe"></span> </p> </div> </div> <div class="form-group m-xxs"> <label class="col-sm-3 control-label">Berufsgruppe:</label> <div class="col-sm-9"> <p class="gpdbform-control-static"> <span class="label label-success pull-right">@(Html.ValueFor(m => m.Berufsgruppe_ID, ""))</span> <span data-bind="text: Berufsgruppe"></span> </p> </div> </div> <hr class="light"/> <div class="form-group m-xxs"> <label class="col-sm-3 control-label">Rechtsw.datum:</label> <div class="col-sm-4"> @(Html.EditorFor(m => m.Rechtswirksamkeitsdatum, "")) @Html.ValidationMessageFor(model => model.Rechtswirksamkeitsdatum) </div> <label class="col-sm-4 control-label">Hauptbetreuende Fachgruppe:</label> <div class="col-sm-1"> <div class="checkbox"> <label> @(Html.EditorFor(m => m.Hauptbetreuung, "")) </label> </div> </div> </div> <div class="form-group m-xxs"> <label class="col-sm-3 control-label">gelöscht:</label> <div class="col-sm-4"> @(Html.EditorFor(m => m.gelöscht, "")) @Html.ValidationMessageFor(model => model.gelöscht) </div> <label class="col-sm-4 control-label">Hauptgewerbe:</label> <div class="col-sm-1"> <div class="checkbox"> <label> @(Html.EditorFor(m => m.Hauptgewerbe, "")) </label> </div> </div> </div> <div class="form-group m-xxs"> <label class="col-sm-3 control-label">Aktuell:</label> <div class="col-sm-4"> <div class="checkbox"> <label> @(Html.EditorFor(m => m.Aktuell, "")) </label> </div> </div> <label class="col-sm-4 control-label">Hauptgremium:</label> <div class="col-sm-1"> <div class="checkbox"> <label> @(Html.EditorFor(m => m.Hauptgremium, "")) </label> </div> </div> </div> <div class="form-group m-xxs"> <div class="col-sm-6"> </div> <label class="col-sm-5 control-label">Nebengremium:</label> <div class="col-sm-1"> <div class="checkbox"> <label> @(Html.EditorFor(m => m.Nebengremium, "")) </label> </div> </div> </div> <hr class="light"/> <div class="form-group m-xxs"> <label class="col-sm-3 control-label"><small class="text-muted">angelegt:</small></label> <div class="col-sm-3"> <p class="gpdbform-control-static"> <small class="text-muted"><span data-format="dd.MM.yyyy hh:mm:ss" data-bind="text: angelegt"></span></small> </p> </div> <label class="col-sm-3 control-label"><small class="text-muted">Mitglied_ID:</small></label> <div class="col-sm-3"> <p class="gpdbform-control-static"> <small class="text-muted"><span data-bind="text: Mitglied_ID"></span></small> </p> </div> </div> <div class="form-group m-xxs"> <label class="col-sm-3 control-label"><small class="text-muted">geändert:</small></label> <div class="col-sm-3"> <p class="gpdbform-control-static"> <small class="text-muted"><span data-format="dd.MM.yyyy hh:mm:ss" data-bind="text: geändert"></span></small> </p> </div> <label class="col-sm-3 control-label"><small class="text-muted">Berechtigung_ID:</small></label> <div class="col-sm-3"> <p class="gpdbform-control-static"> <small class="text-muted"><span data-bind="text: Berechtigung_ID"></span></small> </p> </div> </div> <div class="form-group m-xxs"> <label class="col-sm-3 control-label"><small class="text-muted">Benutzer:</small></label> <div class="col-sm-3"> <p class="gpdbform-control-static"> <small class="text-muted"><span data-bind="text: Benutzer"></span></small> </p> </div> </div> </div> </div></div>