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?
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.
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.
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.
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?
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"
)
)
)
);
columns
.Bound(p => p.Category1)
.Filterable(ftb => ftb
.Multi(
true
)
.DataSource(ds => ds
.Read(r => r
.Action(
"Category1_Read"
,
"Products"
)
.Type(HttpVerbs.Post)
)
)
);
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
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.