Just getting started with Kendo Grid - below is my VB.NET razor code (I know, I know) working against a System.Data.DataTable for a model. The DataTable contains columns in it where some of the ColumnNames have spaces. The web page successfully renders my table, but, it errors due to the Kendo's row template, it seems. Dim mainGrid = Html.Kendo().Grid(Model.MainTable) _ .Name("Grid") _ .Columns(Sub(cols) cols.AutoGenerate(True) End Sub) _ .DataSource(Sub(dSource) dSource.Ajax() End Sub) _ .Pageable() _ .Sortable() _ .Filterable()
Please go through this thread. http://www.telerik.com/account/support-tickets/view-ticket.aspx?threadid=766782 Even if we are allowed to add additionalData in the Grid's Read method, that data is not properly passed on to the corresponding ViewModel on the MVC controller action. I had to write JS using the dot notation for objects and indexer for arrays to get it passed properly. My request is, if the additionalData is already json, allow it to be passed properly.
Currently on WidgetBuilderBase there is an HtmlAttributes method that clears any current HTML attributes before adding the new ones. It would be good if there was a separate method called maybe AddAttributes (or something similar) that would allow the addition of HTML attributes without clearing any existing ones.
Column Menu has a list of columns available in the Grid, When we uncheck selected Column from list (that is hiding from the list). That time Column has to be close. As of now, hiding column from the list using Column Menu makes Column Menu to jump to top corner of the browser.
There is No Model Binding feature available for DataTable.ToDataSourceResult() Function, Implementation of this feature makes Kendo UI much interesting.
We are not able to perform aggregation method sum on Data Table decimal field, it will show "No generic method 'Sum' on type 'System.Linq.Enumerable' is compatible with the supplied type arguments and arguments. No type arguments should be provided if the method is non-generic." exception, It will be much useful for the user, once it is rectified.
Create a breadcrumb trail like horizontal navigation on top of web page below headers which will provide a hierarchical site structure. Typical breadcrumbs looks like: Home page > Section page > Subsection page
Hi It is possible to create a form layout with navigation toolbar to navigate between records? In windows application you can use textbox and other controls and bind this controls to datasource and use navigation toolbar to navigate between records. Also this form layout can design for master-detail layouts with grid widget or other widgets.
Presently, there's no way to pass a parameter to the Deferred function. If i have a need to make the control deferred depending on a condition, i have to write the code this way: @{ var treeView = Html.Kendo().TreeView() .Name("aName"); if (this.IsAjax) { treeView.Deferred(); } treeView.Render(); } It would be great if we could pass a parameter that way: @( Html.Kendo().TreeView() .Name("aName") .Deferred(this.IsAjax) )
In the ASP.NET MVC Wrappers for kendoWindow there is a Visible(bool) option which the docs suggest is to stop the window displaying on page load. However, setting it to true or false and the generated javascript is always the same and the window opens on page load. I'm now creating them manually in javascript myself to get round that but would be nice to use the MVC wrappers as they are intended.
Please suggest me any control available of kendo UI to display multi level relational database with add,edit and delete exclude Treeview
The MVC Grid uses the MVC EditorTemplates and currently does not support setting a JavaScript function name for the column's "editor" property. Please consider adding the ability to set the javascript name for the column's editor. http://www.kendoui.com/forums/kendo-ui-complete-for-asp-net-mvc/grid/binding-to-custom-editor-for-a-grid-column-i-e-drop-down-list.aspx
We all know that the default JavascriptSerializer built into ASP.NET leaves much to be desired, which is why developers are swapping out the built in one from ASP.NET for others such as JSON.NET and ServiceStack. The issue that a lot of developers encounter when working with the MVC Wrappers is that it appears to be using the build in JavascriptSerializer, which is miserably slow and hard to work with when trying to take data from an ORM (with navigation properties) and display it on the Grid. Most of our grids closely represent a table in our database, but because the JavascriptSerializer doesn't support any type of navigation properties, we are always forced to write some DTO that flattens the object out to contain just simple datatype properties. If we could REPLACE the JavascriptSerializer with our own framework - such as JSON.NET or ServiceStack, then we would be able to get our job done a lot faster without the extra plumbing. This feature would mean that this "known issue" could be resolved by people simply swapping the JavascriptSerializer for a better one: http://docs.kendoui.com/getting-started/using-kendo-with/aspnet-mvc/helpers/grid/troubleshooting#a-circular-reference-was-detected-while-serializing-an-object-of-type
To have a consistent look in grids toolbar, it should be possible to add an icon class to custom buttons. Not possible through .HtmlAttributes() because those gets applied to the wrapper link and kendo icons are displayed via inner span tag. .ToolBar(toolbar => { toolbar.Create(); // Has [+]-Icon toolbar.Custom().Text("My Custom Button"); // Does not have an icon } Would be nice to have an option like toolbar.Custom().Text("Reset Grid Settings").Icon("k-i-funnel-clear"); which results in <a href="/Tarife" class="k-button k-button-icontext"> <span class="k-icon k-i-funnel-clear"></span> Reset Grid Settings </a>
OData support for Kendo UI ASP.NET MVC Server Wrappers @* OData support for Kendo UI ASP.NET MVC Server Wrappers *@ @(Html.Kendo().Grid<Album>() .Name("gridX") .DataSource(dataSource => dataSource .Ajax() //.OData // Instead of .Ajax() // Results: // - dataSource.type = 'odata' instead of 'aspnetmvc-ajax' set by .Ajax() // - dataSource.schema.data = function (data) { return data.value; } - data source will be bound to the ODate values field // - dataSource.schema.total = function (data) { return data['odata.count']; } - The total item count is in OData odata.count field .Read(read => read.Url(albumUrl).Type(HttpVerbs.Get) .Local() // Result: dataSource.transport.options.read.dataType = 'json'; (Default value: 'jsonp') ) .Create(create => create.Url(albumUrl).Type(HttpVerbs.Post)) .Update(update => update.Type(HttpVerbs.Put) .Url(x => _albumUrl + x.Id;) // Instead of .Url(albumUrl) // Result: dataSource.transport.options.update.url = function (data) { return _albumUrl + data.Id; }; // Note: WebAPI needs the ID of the entity to be part of the URL e.g. PUT /api/Album/1 ) .Destroy(destroy => destroy.Type(HttpVerbs.Delete) .Url(x => _albumUrl + x.Id;) // Instead of .Url(albumUrl) // Result: dataSource.transport.options.destroy.url = function (data) { return _albumUrl + data.Id; }; // Note: WebAPI needs the ID of the entity to be part of the URL e.g. DELETE /api/Album/1 ) ) )
I want to load a particular ViewModel into a treeview but using the MVC wrappers does not allow for setting what field will be the Id, and the hasChildren property. The model information can be set via the JavaScript configuration though. It would also be nice to mark additional data on the model that should be sent to the Read action along with the Id from my item.
It would be nice if grid could load edit and create forms from server side by get request.and then save them by post request. it would be much more easier if some fields in edit/create form could be saved without loading in grid. And also there would be much better control on load data if it is possible to check some conditions in edit form through server. At the end I suggest to change grid widget to: @(Html.Kendo().Grid<Model>() .DataSource(ds => ds .Ajax() .Read(r => r.Action("FillGrid", "Controller")) .GetCreateForm(c => c.Action("Create", "Controller", "Get")) .Create(c => c.Action("Create", "Controller", "Post")) .GetEditForm(u => u.Action("Edit", "Controller", "Get")) .Update(u => u.Action("Edit", "Controller", "Post")) )
When user click on Edit/Add call custom url. To this url automate pass the ID(or viewModel for ASP.NET MVC) of current record (null if it's new record). This url have to return partial view for edit(or add) form (like template).