Hi Team,
I am using Kendo MVC Grid control with model binding, and in jquery document.ready function i am updating the grid height manually according to page height.
Below is my code
<div id="div-shipmentsgrid-wrapper" style="width:100%; height:800px;">
            @(Html.Kendo().Grid(Model) // Bind the grid to the Model property of the view
            .Name("grdshipmentssummary")
            .Columns(columns =>
            {
                columns.Bound(p => p.PROJECTCODE).Title("Sl").Width(55);
                columns.Bound(p => p.PRODUCTCODE).Title("Product Code").Width(150);
                columns.Bound(p => p.CUSTOMERCODE).Title("Customer").Width(200);
                columns.Bound(p => p.PROJECTCODE).Title("Project Code").Width(150);
                columns.Bound(p => p.SHIPDESCR).Title("Shipping Description").Width(250);
                columns.Bound(p => p.PERCENTAGECOMP).Title("% Comp").Width(100);
                columns.Bound(p => p.STATUSDESCR).Title("Status").Width(100);
                columns.Bound(p => p.COMMITTED).Title("Commit").Format("{0:yyyy-MM-dd}").Width(120);
            })
                .Pageable()
            .Sortable()
                .Filterable(filter => filter.Extra(false))
            .Resizable(resize => resize.Columns(true)).Filterable(filter => filter.Extra(false))
            .Resizable(resize => resize.Columns(true))
                .Scrollable()
            .Selectable(selectable => selectable
            .Mode(GridSelectionMode.Single)
            .Type(GridSelectionType.Row))
                .Events(events => events.Change("onShipmentSummarygridRowChange").DataBound("onDataBound").DataBinding("onDataBinding"))
            .DataSource(dataSource => dataSource
                .Server()
                .Model(model => model.Id(p => p.ID))
            .PageSize((int)ViewBag.PageSize)
                )
            )
            @*<div id="grdshipmentssummary"></div>*@
        </div>
<script type="text/javascript">
    $(document).ready(function () {
       var exHeight = 185;//navbar footer and spaces
        $("#div-shipmentsgrid-wrapper").css("height", parseInt($(window).height().toString().replace("px", "")) - exHeight);
        $("#div-shipmentsgrid-wrapper div.k-grid-content").css("height", parseInt($("#div-shipmentsgrid-wrapper").css("height").toString().replace("px", "")) - 60);
});
</script>
Above code is working fine and setting grid height correctly.
But as i am using model binding, page is taking time to load and grid as well. Meanwhile between pageload and document.ready grid is loading with half height of the page. My question is, is there any grid preload event where i can find the div.k-grid-content.

Hi
I'm attempting to wire up a Kendo grid to a web api. I found two great examples on the site: here and here.
Basically says configure the data source like this:
.DataSource(dataSource => dataSource            .WebApi()            .Model(model =>            {                model.Id(product => product.ProductID); // Specify the property which is the unique identifier of the model                model.Field(product => product.ProductID).Editable(false); // Make the ProductID property not editable            })            .Create(create => create.Url(Url.HttpRouteUrl("DefaultApi", new { controller = "Products" }))) // Action invoked when the user saves a new data item            .Read(read => read.Url(Url.HttpRouteUrl("DefaultApi", new { controller = "Products" }))) // Action invoked when the grid needs data            .Update(update => update.Url(Url.HttpRouteUrl("DefaultApi", new { controller = "Products", id = "{0}" })))  // Action invoked when the user saves an updated data item            .Destroy(destroy => destroy.Url(Url.HttpRouteUrl("DefaultApi", new { controller = "Products", id = "{0}" }))) // Action invoked when the user removes a data item      )
I'm using version 2016.1.112 and .WebApi() isn't available. Any idea how the hook the data source to a web api without it?
Hi,
I am Evaluating telerik Kendo Grid for MVC.
I have dynamic Datatable which I would like to bind to the grid.I can able to bind the grid but unable to do paging,filtering etc.
Once I go to next page,the grid collapase to empty with page numbers set to 0.
     @(Html.Kendo().Grid<System.Data.DataTable>().Name("Grid")
            .DataSource(d => d.Ajax().PageSize(2)
             .Read(r => r.Action("ReadData", "Home"))
                )
        .Columns(col =>
        {
            foreach (System.Data.DataColumn column in Model.Columns)
            {
                col.Bound(column.ColumnName);
            }
        }).Sortable()
        .Filterable()
        .Pageable()
Hello,
I have a Scheduler Resources and i must show in cascade showing with 4 column
Example
|Name|Type|Status|Active|Days|
|A | T | T | 1 | Days|
|B | T | K | 0 | Days|
but i cant find how to do this. All examples show included resources not connected others.
I have follow Kendo UI for ASP.NET MVC Local binding example to create my pivot view.
At my pivot grid, the rows is group by a date, however, the date display on the row header is a long date format. How to format a date in a row header column to a short date?
At the following code, I am able to use the template to format a date field to a short the format, but not on the row header column. please see the picture for the detail.
@model IEnumerable<TelerikMVCStudy.Domain.Dailyforecast_view>@{    ViewBag.Title = "Index";}<h2>Pivot</h2>@(Html.Kendo().PivotConfigurator()    .Name("configurator")    .HtmlAttributes( new { @class = "hidden-on-narrow"})    .Height(570))@(Html.Kendo().PivotGrid<TelerikMVCStudy.Domain.Dailyforecast_view>()    .Name("pivotgrid")    .HtmlAttributes(new { @class = "hidden-on-narrow" })    .Configurator("#configurator")    .Height(579)    .BindTo(Model)    .DataCellTemplateId("dataCellTemplate")    .ColumnHeaderTemplateId("headerTemplate")    .RowHeaderTemplateId("rowHeaderTemplate")    .DataSource(dataSource => dataSource        .Ajax()        .Schema(schema => schema            .Model(m => m.Field("Utility", typeof(string)).From("Utility"))            .Cube(cube => cube                .Dimensions(dimensions =>                {                    dimensions.Add(model => model.Portfolio).Caption("Portfolio");                    dimensions.Add(model => model.Utility).Caption("All Utility");                    dimensions.Add(model => model.CalendarDate.ToShortDateString()).Caption("CalendarDate");                })                .Measures(measures =>                {                    measures.Add("sum").Format("{0:N4}").Field(model => model.MMBtu).AggregateName("sum");                    measures.Add("max").Field(model => model.CalendarDate).AggregateName("max");                })        )        )        .Columns(columns =>        {            columns.Add("Utility").Expand(true);        })        .Rows(rows => rows.Add("CalendarDate").Expand(true))        .Measures(measures => measures.Values("sum"))        .Events(e => e.Error("onError"))             ))<script>    function onError(e) {        alert("error: " + kendo.stringify(e.errors[0]));    }</script><script id="dataCellTemplate" type="text/x-kendo-tmpl">    # var columnMember = columnTuple ? columnTuple.members[0] : { children: [] }; #    # var rowMember = rowTuple ? rowTuple.members[0] : { children: [] }; #    # var value = (dataItem.value instanceof Date) ? kendo.toString(dataItem.value,"d") : kendo.toString(kendo.parseFloat(dataItem.value) ||"N/A", "N4"); #    # if (columnMember.children.length || rowMember.children.length) { #        <em  style="color: red">#: value # (total)</em>    # } else { #        #: value #    # } #</script><script id="headerTemplate" type="text/x-kendo-tmpl">    # if (!member.children.length) { #        <em>#: member.caption #</em>     # } else { #        #: member.caption #    # } #</script><script id="rowHeaderTemplate" type="text/x-kendo-tmpl">    # if (!member.children.length) { #         <em>#: member.caption #</em>    # } else { #         #: member.caption #    # } #</script><style>    #pivotgrid    {        display: inline-block;        vertical-align: top;        width: 70%;    }    #configurator    {        display: inline-block;        vertical-align: top;            }    .hidden-on-narrow {        display: inline-block;        vertical-align: top;    }</style>Hello,
I have a problem. I have three Kendo components that have the same code, but only one of them is clickable.
Here is the code :
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<System.Collections.Generic.List<System.Collections.Generic.List<IntranetMVC.Models.Vehicule>>>" %>
<script src="<%= Url.Content("~/Scripts/Entrees_Sorties/VehiculesEnAttente.js") %>" type="text/javascript"></script>
<!-- Description : Vue partielle affichant la grille des vehicules attendus sur le site -->
<br />
<div class="tabKendo" style="text-align:center">
    <!-- GRILLES DE DONNES -->
    <table style="font-size:80%; border-collapse : collapse; border-spacing : 2px; ">
        <tr>
            <td>
                <h3>Hier</h3>
            </td>
             <td>
                <h3>Aujourd'hui</h3>
            </td>
             <td>
               <h3>Demain</h3>
            </td>
        </tr>
        <tr>
            <td>
                <!-- ----------- GRILLE POUR LES VEHICULES D'HIER ---------->
            <% Html.Kendo()
                    .Grid<IntranetMVC.Models.Vehicule>()
                    .Name("Gd_Hier")
                    .BindTo(Model[0])
                    .Events(e => e
                      .Change("OnVehiculeArrive_va"))
                    .Columns(columns =>
                    {
                        columns.Bound(c => c.sHeurePrevue).Width(50).Title("Heure");                        
                        columns.Bound(c => c.NomTransporteurPrevu)
                               .Width(100)
                               .ClientTemplate("#= data.NomTransporteur.substring(0,14) #")
                               .Title("Transporteur");
                    })
                    .HtmlAttributes(new { style = "height: 464px; width: 180px; margin:5px; font-size:130%" })
                    .Sortable()
                    .Selectable(selectable => selectable
                                            .Mode(GridSelectionMode.Single))
                    .DataSource(dataSource => dataSource
                                                        .Ajax()
                                                        .ServerOperation(false)
                                                         .Sort(sort => sort.Add("sHeurePrevue").Ascending()))                                                         
                    .Render();
                                                        
            %>
            </td>
            <td>
                <!-- ----------- GRILLE POUR LES VEHICULES DE TODAY ---------->
            <% Html.Kendo()
                    .Grid<IntranetMVC.Models.Vehicule>()
                    .Name("Gd_Today")
                    .BindTo(Model[1])
                    .Events(e => e
                      .Change("OnVehiculeArrive_va"))
                    .Columns(columns =>
                    {
                        columns.Bound(c => c.sHeurePrevue).Width(50).Title("Heure");
                        columns.Bound(c => c.NomTransporteurPrevu)
                               .Width(100)
                               .ClientTemplate("#= data.NomTransporteur.substring(0,14) #")
                               .Title("Transporteur");                        
                    })
                    .HtmlAttributes(new { style = "height: 464px; width: 180px; margin:5px; font-size:130%" })
                    .Sortable()
                    .Selectable(selectable => selectable
                                            .Mode(GridSelectionMode.Single))
                    .DataSource(dataSource => dataSource
                                                        .Ajax()
                                                        .ServerOperation(false)
                                                        .Sort(sort => sort.Add("sHeurePrevue").Ascending()))
                   .Render();                                                        
            %>
            </td>
            <td>
                <!-- ----------- GRILLE POUR LES VEHICULES DE DEMAIN ---------->
            <% Html.Kendo()
                    .Grid<IntranetMVC.Models.Vehicule>()
                    .Name("Gd_Demain")
                    .BindTo(Model[2])
                    .Events(e => e
                      .Change("OnVehiculeArrive_va"))
                    .Columns(columns =>
                    {
                        columns.Bound(c => c.sHeurePrevue).Width(50).Title("Heure");                       
                        columns.Bound(c => c.NomTransporteurPrevu)
                               .ClientTemplate("#= data.NomTransporteur.substring(0,14) #")
                               .Width(100)
                               .Title("Transporteur");
                    })
                    .HtmlAttributes(new { style = "height: 464px; width: 180px; margin:5px; font-size:130%" })
                    .Sortable()
                    .Selectable(selectable => selectable
                                            .Mode(GridSelectionMode.Single))
                    .DataSource(dataSource => dataSource
                                                        .Ajax()
                                                        .ServerOperation(false)
                                                        .Sort(sort => sort.Add("sHeurePrevue").Ascending()))
                    .Render();
            %>
            </td>
        </tr>
    </table>
</div>
I don't have any idea why, but only the first component is clickable (the one under "hier" on the screenshot I joined).
Hi,
I'm trying to create a dropdown into a gridview, and I have tried lots op things.
the thing I'm stuck with now is this error
"The call is ambiguous between the following methods or properties: 'Kendo.Mvc.UI.Fluent.DropDownListBuilder.BindTo(System.Collections.Generic.IEnumerable<Kendo.Mvc.UI.DropDownListItem>)' and 'Kendo.Mvc.UI.Fluent.DropDownListBuilder.BindTo(System.Collections.Generic.IEnumerable<System.Web.Mvc.SelectListItem>)'"
in the Bindto I have a list of items which I load from the viewbag.
But I can't get pass this error.
do U need to unreference something?
thank you.
I'm using telerik grid popup edit mode. when error occurs I want to prevent closing editor.
Here is the code; it works fine
var grid = $("#popupGrid").data("kendoGrid");But I want to call dynamically find the grid.
I found the below the code. But It's not working:
<p>var gridId = e.sender.options.table.parent('div')[0].id;<br>            var grid = $("#" + gridId).data("kendoGrid");</p><p></p>e.sender.options.table =null.
how can I do this?
Hello,
I have a grid with a colorpicker, when i choose the color from the palette I have the hex color code displayed instead of the color.
here is my TemplateEditor that i called QTPStatusEditor:
@model string@(Html.Kendo().ColorPickerFor(m=>m)        .Name("Status")      .Palette(new[] { "rgba(255, 255, 255, 1)", "rgba(0, 204, 0, 1)", "rgba(255, 51, 51, 1)", "rgba(255, 201, 14, 1)" })      .Columns(4)      )And here is My Grid:
@(Html.Kendo().Grid<Volvo.Qarma.MVCWebUIComponent.Models.Views.ProposedQToolViewModel>()              .Name("QTPGridItems_#=Id#")               .ToolBar(toolbar => toolbar.Template(@<text>                <div class="toolbar">                   <input type="button" id="SaveProposedQTools" class="icon save k-grid-save-changes" value="@ScreeningResource.Screening_TreatmentPlan_SaveProposedQTools" />                </div>            </text>))              .Columns(columns =>              {                  columns.Bound(o => o.RefQTool.Name).Title("Pro-active actions");                  columns.Bound(o => o.Responsable).Title("Responsible");                  columns.Bound(o => o.QtoolLeader).Title("Qtool Leader");                  columns.Bound(o => o.Location.LongName).EditorTemplateName("LocationListEditor").Title("Location");                                     columns.Bound(o => o.Status).EditorTemplateName("QTPStatusEditor").Title("Status");                                     columns.Bound(o => o.PlannedStartDate).EditorTemplateName("PlannedStartDateEditor").Title("Planned start date").Format("{0:dd/MM/yyyy}");                  columns.Bound(o => o.PlannedEndDate).EditorTemplateName("PlannedEndDateEditor").Title("Planned End date").Format("{0:dd/MM/yyyy}");                  columns.Bound(o => o.LastUpdateDate).EditorTemplateName("LastUpdateDateEditor").Title("Last Update Date").Format("{0:dd/MM/yyyy}");                  columns.Bound(o => o.LinkToDocument).Title("Link To Document");                  columns.Bound(o => o.Comment).Title("Comment");              })              .DataSource(dataSource => dataSource                  .Ajax()                  .Batch(true)                  .ServerOperation(false)                  .PageSize(10)                  .Read(read => read.Action("QtpGridSelectedQtools", "QTP", new { itemId = "#=Id#" })                   .Data("function() { return getCommodityID('QTPGridItems_#=Id#');}"))                   .Create(create => create.Action("Create_TreatmentPlan", "Screening", new { itemId = "#=Id#" }))                   .Update(update => update.Action("Update_TreatmentPlan", "Screening", new { itemId = "#=Id#" }))                  .Model(model =>                  {                      model.Id(p => p.Id);                      model.Field(p => p.Id).Editable(false);                      model.Field(p => p.RefQTool.Name).Editable(false);                      model.Field(p => p.Responsable).Editable(true);                      model.Field(p => p.QtoolLeader).Editable(true);                      model.Field(p => p.Location).Editable(true).DefaultValue(ViewData["defaultLocation"] as LocationsViewModel);                      model.Field(p => p.PlannedStartDate).Editable(true);                      model.Field(p => p.PlannedEndDate).Editable(true);                      model.Field(p => p.LastUpdateDate).Editable(true);                                             model.Field(p => p.Status);                  })              )              .Selectable()              .Pageable()              .Sortable()              .Editable(editable => editable.Mode(GridEditMode.InCell))              .ToClientTemplate()        )I have seen in some examples that i need to add .ClientTemplate("<div style='background-color: #=Status#;padding:10px;'> </div>"); to :
columns.Bound(o => o.Status).EditorTemplateName("QTPStatusEditor").Title("Status").ClientTemplate("<div style='background-color: #=Status#;padding:10px;'> </div>");But When I dothat I get a javascript error : Uncaught ReferenceError : Status is not defined that you can see also in attached files. and the line is no more displayed in the grid.
you can also see the result i get in attached files.
Thank you in advanced for your help
Regards,