Please implement native DateTimeOffset support to the filtering and sorting in the MVC Kendo grid.
Support for NullDisplayText property of the DisplayFormat metadata attribute.
I use getOptions() and setOptions() to persist the state of the ajax bound grid that I have.
My toolbar is not a server one, it is this:
.ToolBar(toolbar =>toolbar.Create().HtmlAttributes(new { @class ="k-primary"}))
When I call the setOptions() method, it removes the Add button from the grid header.
Hello,
I think there is a bug with the DataTimeOffset field when used in a Grid. It cannot display correctly and is showing something like /Date(1364927400000)/. I have to retrieve my data from database as DateTimeOffset format and then use a new ViewModel to convert the DateTimeOffset values to DateTime values. This is really annoying.
Could you let me know if there is a way a DateTimeOffset field can be supported in the grid? Sometimes you do have to display the time zone info.
I hope this can be fixed in a future release.
Thanks,
Sam
It would be great if we could use the built in column filtering on columns containing arrays.
Or at the very least have a workaround (which I have not been able to find on the site).
I understand that the current implementation relies on the data being flat, but support for the following situation would be great:
- Grid cell is bound to an array and a template is used to display character delimited data (ie. One, two, three, four).
- Column filtering will display multi select options for the data.
When I use a grid, I can enable Filterable and the column shows me when I am filtering it; however if I enable ColumnMenu I have no indication if I am filtering on that column. We've used a work around to handle this state ourselves, but its ugly and I think this should be part of the core product.
@(Html.Kendo().Grid<ShipmentGrid>()
.Name("grid")
.AutoBind(false)
.Columns(columns =>
{
columns.Template(@<text></text>).Width(50).Title("PDFs").ClientTemplate($"<a href='javascript:" + jsPage + $".openDocumentWindow(#=AccountId#, #=OrderNumber#, #=OrderLineId#, #=OrderLineNumber#)'><img src={Url.Content("~/Content/images/pdficon_small.png")} /></a>");
columns.Bound(m => m.CustomerName).Width(200).Title("Customer").HeaderTemplate("Customer <span style='float:center' class='k-icon k-i-filter'></span>").Filterable(f => f.Multi(true).Search(true)).Sortable(true);
columns.Bound(m => m.PurchaseOrderNumber).Width(100).Title("PO").HeaderTemplate("PO <span style='float:center' class='k-icon k-i-filter'></span>").Filterable(f => f.Multi(true).Search(true)).Sortable(true);
})
.HtmlAttributes(new { style = "font-size:0.85em;" })
.Filterable()
.ColumnMenu()
.Reorderable(reorder => reorder.Columns(true))
.Resizable(r => r.Columns(true))
.Scrollable(s => s.Height(340))
.Pageable(pageable => pageable
.Refresh(true).ButtonCount(10)
.PageSizes(new [] { 25, 250, 2500 })
)
.Sortable(sortable => sortable
.SortMode(GridSortMode.SingleColumn)
)
.ClientDetailTemplateId("itemdetail")
.DataSource(dataSource => dataSource
.Ajax()
.Read(read => read.Url("/api/shipments").Data(jsPage + ".getParameters"))
.PageSize(2500)
.ServerOperation(false)
.Events(events => events
.Error(jsPage + ".GridService.onError")
.RequestStart(jsPage + ".GridService.onRequestStart")
.RequestEnd(jsPage + ".GridService.onRequestEnd")
)
)
.NoRecords()
.Events(events => events.DataBound(jsPage + ".onDataBound"))
)
Implement stacking columns on smaller screens, e.g., https://docs.telerik.com/devtools/aspnet-ajax/knowledge-base/grid-stack-responsive-columns-on-small-screens
Currently, the autoFitColumn() method shouldn't be used to resize all columns in a large grid, as noted here: https://docs.telerik.com/kendo-ui/api/javascript/ui/grid/methods/autofitcolumn
Could this performance be improved by deferring the width calculation? So a 10 column grid could be completely autoFit with 1 calculation instead of 10.
Could an .AutoFit(true) method be added to the GridColumnBuilder's Fluent Api?
This would allow me to build columns such as:
.Columns(column => column.Bound(model => model.Value).AutoFit())
This should defer the autofit calculations so that they can be run once for all auto-fitted columns, rather than re-calculating for every column.
In other words, this should NOT simply call autoFitColumn() as it is currently implemented.
I'd like to request to be able to merge cells and column filters with the built-in API for the Kendo UI Grid.
Hi.
I'd like to request the ability to sort on multiple columns of a grid, allow unsorting a column, but the grid must have at least one columns sorted.
An exception is thrown when calling `ToDataSourceResult` from the `Kendo.DynamicLinq` library if there are no columns sorted:
System.NotSupportedException: The method 'Skip' is only supported for sorted input in LINQ to Entities. The method 'OrderBy' must be called before the method 'Skip'
Thank you.
Implement an option to control the columns width in scenarios that involve resizing the browser window.
Currently, if you specify the width of all the columns, on resizing the browser window the columns automatically resize proportionally. A column property MaxWidth would be nice to have, since it would prevent columns from resizing beyond a specified width value.
Is it possible to implement a MaxLength() option in the Filterable(f => f.Cell()) configuration that will set the maxlength attribute to the Filter row element in order to limit the length of the string that the user can enter into the Filter row input?
For example:
@(Html.Kendo().Grid(Model)
.Name("grid")
.Columns(columns =>
{
columns.Bound(x => x.Name).Filterable(ftb => ftb.Cell(c => c.MaxLength(5)));
})
...
)
It would be nice, if you can create a build-in property or function to create icon-only buttons/commands in a grid.
Actually it requires some workaround to realize this.
This Example create an edit button with the k-button-icontext class, but i want only an k-button-icon button. The destroy button gets the button name as default text.
@(Html.Kendo().Grid<WidgetDashboard.Models.Widget.WidgetData>()
.Name("adminWidgetGrid")
.Columns(columns =>
{
columns.Bound(p => p.Name).Width(150);
columns.Bound(p => p.Active).Width(75);
columns.Command(command => { command.Edit().Text(" "); command.Destroy().Text(""); }).Width(300);
})
//.ToolBar(toolbar => toolbar.Create())
.Editable(editable => editable.Mode(GridEditMode.InLine))
.Pageable(p => p.Refresh(true))
.Sortable()
.Scrollable()
.Resizable(r => r.Columns(true))
.HtmlAttributes(new { style = "height:450px; width: 100%" })
.DataSource(dataSource => dataSource
.Ajax()
.PageSize(20)
//.Events(events => events.Error("error_handler"))
.Model(model => model.Id(p => p.ID))
.Create(update => update.Action("Admin_Create", "Dashboard", new { id = Model.DashboardId }))
.Read(read => read.Action("Admin_Read", "Dashboard", new { id = Model.DashboardId }))
.Update(update => update.Action("Admin_Update", "Dashboard", new { id = Model.DashboardId }))
.Destroy(update => update.Action("Admin_Destroy", "Dashboard", new { id = Model.DashboardId }))
)
)
Alternative it would be ok if the correct css class is given when an empty string is specified.
Thank you
Christian
add a grid to a view
open the view with data bound to the grid.
First line of data is not selected.
Now i have to program the ondatabound property for a function which belongs to the grid component. Make it configurable for grids which do not need this feature or vice versa.