Telerik Forums
UI for ASP.NET MVC Forum
1 answer
324 views

I have a batch edit grid that has a rate column, some of those rates are decimals and some are percentages. I have a column that specifies what datatype it should be. Currently, based on the object given from this command:

var grid = $("#myGrid").data("kendoGrid");
console.log(grid.dataSource.options.schema.model.fields.rate);

 The type is just a number for now. I know I can add data annotations to change that, but is there a way to do this dynamically and set individual cells to different data types? Either in Javascript or possibly a template?

Kiril Nikolov
Telerik team
 answered on 05 Oct 2015
1 answer
233 views

Hi,

I have a kendo grid displaying company data with parent-child relationship(parent company with multiple child companies). In grid I am grouping data on parentcompanyid column. But because of this grouping the grid does not show parentcompany data in grid except the parentcompanycode as group label. I want to display parent company data as a child row along with other child companies and it has to be displayed at the end of group list i.e. child companies first and then parent company. How can I achieve this?

Example:

Company                Loc           EmpCount

ABC - Parent company

PQR (child)             X                   30

XYZ (child)              X                   20

ABC(parent rec)      X                   10

                                       Total       60

Here though ABC is a parent company and group data but still it is shown as a separate entity in child list.

 

Thanks.

Nikolay Rusev
Telerik team
 answered on 05 Oct 2015
12 answers
875 views
Hi all,

I am having some odd issues with complex objects in my trial version of KendoUI complete for MVC.

I have a base entity class called Entity with the following 2 properties.
public Guid ObjectId { get; set; }
public DateTime CreatedOn { get; set; }

I then have 2 classes, Product and Category. Both inherit from Entity.
Product has a reference to a single category
public Category Category { get; set; }

My grid populates 100%.

The first issue I had was when displaying Category.CreatedOn. I was getting the JSON data instead of a date/time. Searching these forums found me an answer and I have it displaying correctly using the ClientTemplate method on the bound property.
When I make a change and post back the Product.CreatedOn is 100% and contains the value that it had originally in the read request. Category.CreatedOn is set back to 01/01/0001 00:00 which is invalid and causes my ModelState.IsValid check to fail.
This Category.CreatedOn value does however show in the grid correctly if I render the column after applying the ClientTemplate fix above.
If I set a new date in the grid for Category.CreatedOn, then this new value is persisted back to the server on update. The value is only lost if I don't alter it at all.

Am I making sense? Is there a fix for this?

I have been fiddling with DateTime types in the Grid since Thursday last week. Starting to feel real unproductive at the moment so some quick assistance would be appreciated.

TIA
Mike
Sven
Top achievements
Rank 1
 answered on 02 Oct 2015
1 answer
71 views

Hi,

We are needing to be able to send the contents of the kendo editor to the server on an intermittent basis for auto-save purposes as the user types in the editor.  I noticed that unless I stop typing and click away from the editor and it loses focus, the the editor's contents don't get committed to the textarea and thus don't get sent to the server.

Is there any way to programatically get the kendo editor to commit its data to the text area?

Thanks.

Alex Gyoshev
Telerik team
 answered on 02 Oct 2015
1 answer
146 views

I'm following the Virtualization demo at http://demos.telerik.com/aspnet-mvc/combobox/virtualization and get data back initially, however I notice that my request parameter is not being populated with what's sent to the server. Mainly the Filter property is null even though it's included in the request.

 Controller action: 

public JsonResult GetParentResellers([DataSourceRequest]DataSourceRequest request)
{
    //...
}

The only properties that have a value are PageSize, Page and Take.

I've attached an image of the ajax request that the Combobox sends to the server.

Georgi Krustev
Telerik team
 answered on 02 Oct 2015
1 answer
153 views

I have created two views ​Shipment and Shipment Lines,

The Shipment has the header info, and of course the lines is the details.  How do I have an action link form the parent grid to the child view, and pass the correct order Id (the model) to the line read action?

 This is the Shipment View:  

@(Html.Kendo().Grid<Portal.Model.DAX.PurchaseShipment>()
        .Name("Grid")
        .Columns(columns =>
        {
            columns.Bound(c => c.CompanyId).Width(160);
            columns.Bound(c => c.VendAccount).Width(120)
            columns.Bound(c => c.DeliveryMode).Width(120);
            columns.Bound(c => c.VendShipId).Width(120);
            columns.Bound(c => c.ShipmentDate).Width(140).Format("{0:MM/dd/yy}");
            columns.Bound(c => c.EstimateShipmentDate).Width(140).Format("{0:MM/dd/yy}");
            columns.Bound(c => c.SourceOfData).Hidden(true).IncludeInMenu(false);
            columns.Bound(c => c.RecVersion).Title("Rec Version").Hidden(true).IncludeInMenu(false);
            columns.Bound(c => c.RecId).Title("RecId").Hidden(true).IncludeInMenu(false);
            columns.Bound(c => c.CompanyId).ClientTemplate(@Html.ActionLink("Lines", "Lines", "Shipment", new { CompanyId = "#=CompanyId#", RecId = "#=RecId#" }, "").ToHtmlString()).Width(120);
            columns.Command(command => {
                command.Edit();
                command.Destroy();
 
            }).Width(180);
        })
        .ToolBar(toolbar =>
        {
            toolbar.Create().Text("Add Shipment").HtmlAttributes(new { @title = "Add Shipment" });
            toolbar.Excel();
        })
        .Editable(editable => editable.Mode(GridEditMode.PopUp))
        .DataSource(dataSource => dataSource
            .Ajax()
            .PageSize(20)
            .Model(model => model.Id(p => p.CompanyId))
            .Read(read => read.Action("Read", "Shipment").Type(HttpVerbs.Post))
            .Create(create => create.Action("Create", "Shipment").Type(HttpVerbs.Post))
            .Update(update => update.Action("Update", "Shipment").Type(HttpVerbs.Post))
            .Destroy(destroy => destroy.Action("Destroy", "Shipment"))
        )
    )

And the Lines View: (I know the model has the PurchaseShipment data, I had textboxes populating it for testing)

@using Portal.Model.DAX
@model PurchaseShipment
 
    @(Html.Kendo().Grid<Portal.Models.ShipmentLinesViewModel>()
      .Name("grid")
      .Columns(columns =>
      {
          columns.Bound(c => c.CompanyId);
          columns.Bound(c => c.ShipId);
          columns.Bound(c => c.PurchId);
          columns.Bound(c => c.PurchaseOrderId);
          columns.Bound(c => c.PurchaseOrderDate);
          columns.Bound(c => c.InventTransId);
          columns.Bound(c => c.LineNum);
          columns.Bound(c => c.ItemId);
          columns.Bound(c => c.UnitId);
          columns.Bound(c => c.QuantityOrdered);
          columns.Bound(c => c.QuantityShipped);
          columns.Bound(c => c.RecVersion);
          columns.Bound(c => c.RecId);
          columns.Command(command => { command.Edit(); }).Width(180);
      })
      .ToolBar(toolbar =>
      {
          toolbar.Excel();
      })
      .Editable(editable => editable.Mode(GridEditMode.InLine))
      .Pageable()
      .Sortable(sortable =>
      {
          sortable.SortMode(GridSortMode.MultipleColumn);
      })
      .Filterable()
      .Scrollable()
      .DataSource(dataSource => dataSource
          .Ajax()
          .Model(model => model.Id(p => p.CompanyId))
          .Read(read => read.Action("Lines_Read", "Shipment"))
          .Update(update => update.Action("Lines_Update", "Shipment"))
      )
    )

 

So the issue is that when the read for the lines happens it doesn't have the Shipment Model available so I can grab the correct line data.  How do I pass from one view to the next, and pass the model to the read action?

Boyan Dimitrov
Telerik team
 answered on 02 Oct 2015
5 answers
180 views
Question: Is it possible to use UI for ASP.NET MVC with MVC 5.2.2?

Or has the Kendo.MVC project to be re-compiled with MVC 5.2.2 and the related packages?
Jean-Francois
Top achievements
Rank 1
 answered on 02 Oct 2015
14 answers
332 views

I'm using the new "Filter Multi Checkboxes" and am liking the new functionality.

I've hooked it up to my MVC Controller with the following code which works fine apart from the fact that the controller is only called once, the first time I click to display the filter.

​columns
    .Bound(p => p.Category1)
    .Filterable(ftb => ftb
        .Multi(true)
        .DataSource(ds => ds
            .Read(r => r
                .Action("Category1_Read", "Products")
            )
        )
    );

I would like it to call the controller every time the filter is displayed, how do I achieve this?  I've tried the following as I thought it was being cached but this did not fix it.

columns
    .Bound(p => p.Category1)
    .Filterable(ftb => ftb
        .Multi(true)
        .DataSource(ds => ds
            .Read(r => r
                .Action("Category1_Read", "Products")
                .Type(HttpVerbs.Post)
            )
        )
    );


Thanks


Colin
Top achievements
Rank 1
 answered on 01 Oct 2015
2 answers
784 views

Situation

I would like to conditionally format the text in a cell in a grid to red depending on its value.

Example:

If the value is less than 0 then display the text in red.

Value

123.8  - no change to text font

0 - no change to text font

-123.8 change text font to red.

I would like to use the ClientTemplate on a bound column

Here is a sample of the grid's code:

columns.Bound(c => c.Adjusted_Appreciation).Title("Adjusted_Appreciation").Format("{0:c}").Width(150).ClientTemplate("# if (Adjusted_Appreciation > 0) {}; #");

columns.Bound(c => c.Adjusted_Appreciation).Title("Adjusted_Appreciation").Format("{0:c}").Width(150).ClientTemplate("# if (Adjusted_Appreciation > 0) {}; #");

 

What do i put in the {}?

Thanks

Corey

Paul
Top achievements
Rank 1
 answered on 01 Oct 2015
1 answer
126 views

I am new to the MVC world of programming so I hope this problem is not something really simple.   

Using Visual Studio 2015, and .NET 4.5, I created a new project using the "empty" telerik project.  By the looks of things all the required scripts and layout looks like it was copied into my project.  As long as I stick with non Kendo things, everything works.  I have several views that render without issue.  Being I love Telerik products I figured I would try a more daring view which will entail a couple of grids as well as a tree view or two.  Structurally I have a single layout template and several partial views.  If the displayed data is not relevant, the .RAZOR logic skips the display of the relevant KENDO grids.  That all works without issue.

My problem seems to be related to the registration of the Kendo/Telerik scripts.  Using IE 11, I get  a "Jquery is undefined" error.  Chrome and Firefox display the grids however they look like they are rendering with partial success.  For example, none of the row selection is occurring.  Sorting of the grids is taking place without issue.

How can I confirm I have my project configured correctly?  I have seen references to having to run a "register scripts" several places however my project contains no such instructions currently. (Which of course could be my problem)  I do have the default "bundles" logic in my "App_Start" folder.  I do see a j-query bundle reference there.  I am able to type / edit the markup and the Kendo libraries seem to be recognized.

As I am new to MVC 5 programming I have no background to fall back upon.  Hopefully you can point out my errors and where to start my search for the "fix".

Thanks in advance.

 

David
Top achievements
Rank 1
Iron
Veteran
Iron
 answered on 01 Oct 2015
Narrow your results
Selected tags
Tags
+? more
Top users last month
Will
Top achievements
Rank 2
Iron
Motti
Top achievements
Rank 1
Iron
Hester
Top achievements
Rank 1
Iron
Bob
Top achievements
Rank 3
Iron
Iron
Veteran
Thomas
Top achievements
Rank 2
Iron
Want to show your ninja superpower to fellow developers?
Top users last month
Will
Top achievements
Rank 2
Iron
Motti
Top achievements
Rank 1
Iron
Hester
Top achievements
Rank 1
Iron
Bob
Top achievements
Rank 3
Iron
Iron
Veteran
Thomas
Top achievements
Rank 2
Iron
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?