It was possible to use Html in the Select button message up to R1 2023. The current behavior is a regression in R1 2023 SP2.
Dojo example: https://dojo.telerik.com/uyuhocUL
No actual Html can be used in the button's message.
Html can be used in other messages of the Upload, e.g., dropFilesHere, so it should be possible to do it in the Select button message as well.
Aren't the files in the /Content/kendo/2023.1.314/ folder KendoUI version files, not MVC version files?
Below is the contents of the file after upgrading to the new version.
I thought it was strange, so I browsed the stylesheet folder of the newly installed version.
The folder contents of the previous version were as follows.
Isn't it a problem with the distributed installation files?
Describe the bug
Column headers do not resize properly in IE11 when scrollable is set to false. Regression introduced in 2021.3.914.
To reproduce
Steps to reproduce the behavior:
The column headers are squished to the left side.
Expected behavior
Columns headers must have the same width as the respective columns.
Workaround:
.k-ie .k-grid-header {
display: table-header-group;
}
Affected package (please remove the unneeded items)
Affected suites (please remove the unneeded items)
Affected browsers (please remove the unneeded items)
Build system information (please remove the unneeded items)
When we want to add a formula in a given cell in the Spreadsheet, we double-click it and enter the "=" in it as an identifier that a formula definition will follow. If we want to include in the formula a cell that is not inside the visible range of the Spreadsheet, we scroll to that cell and select it. In Internet Explorer, if we scroll to a given cell using the arrows of the Spreadsheet's scrollbar the "double-clicked" cell becomes just a selected one and the "=" sign is converted to a string value.
When building a formula in a given cell and trying to navigate to a cell using the scrollbar, this usage stops the formula building and converts the "=" into a string.
When a user creates a formula for a given cell, they should be able to navigate through the Spreadsheet using its scrollbars.
Bug report
Error is thrown when using Kendo HTML Editor Control in Kendo Grid Popup EditorTemplate in IE only
Reproduction of the problem
Place Kendo editor in Grid popup template
@(Html.Kendo().Grid<TelerikMvcApp2.Models.Person>().Name("persons")
.DataSource(dataSource => dataSource
.Ajax()
.Model(model => model.Id(m => m.PersonID))
.Read(read => read.Action("GetPersons", "Home"))
.Update(up => up.Action("UpdatePerson", "Home"))
)
.Columns(columns =>
{
columns.Bound(c => c.PersonID).Width(200);
columns.Bound(c => c.Name);
columns.Bound(c => c.BirthDate).Format("{0:g}");
columns.Command(cmd => cmd.Edit());
})
.Pageable()
.Sortable()
.Editable(ed => ed.Mode(GridEditMode.PopUp).TemplateName("Person"))
)
Person.cshtml
@(Html.Kendo().EditorFor(model => model.Text))
1. Run and open in IE
2. Click edit, make a change in the popup and Save
2. Click again on Edit
https://www.screencast.com/t/kZFZ9hZNEp
Expected/desired behavior
No error is thrown
Environment
Kendo UI version: 2020.3.118
With the latest 2022 release, the grid toolbar seems to be rendering buttons incorrectly. It is generating them with k-button and k-button-icontext classes only on them. I don't 100% know this is wrong, but i expected them to render with k-button-solid-base and k-rounded-md classes, and i'm pretty sure i saw docs saying the icontext is not used anymore.
Note: this is about the mvc wrapper.
I'm not sure if this is a bug but if you leave the size off of a column, it stretches to fill the remaining area. However I discovered that this does NOT happen if you lock one of your columns. If you do this, the column doesn't render at all.
there seems to be a bug in your commands column and it's made worse when loading/saving grid layouts.
When i load a page with this grid column definition,
.Groupable() .Columns(columns => { columns.Command(cmd => cmd.Custom("Undelete") .Click("undelete")) .Width(60);
when you inspect the grid, the grid internally shows two classes for the command cell:
attributes: {class: 'k-command-cell k-command-cell'}
now, if i apply a grid layout, the problem gets worse. This sample code will cause the dom to end up with multiple k-command-cell classes on the grid's td element.
$("#UndeleteGrid").data("kendoGrid").setOptions($("#UndeleteGrid").data("kendoGrid").getOptions())
<td class="k-command-cell k-command-cell k-command-cell k-command-cell k-command-cell k-command-cell k-command-cell k-command-cell k-command-cell" role="gridcell"><a role="button" class="k-button k-grid-Undelete" href="#" title="Undelete"><span class="k-icon k-i-undo"></span></a></td>
<script>
//my amazing function|
function() {
var x = 0;
doSomething();
}
I load a pdf on a PDFViewer component using loadDefault function, but Open event is not fired.
Also, I want to scroll to the end of the document and for that, I need to retrieve the count of the pages and activate the last page in the render event, even it's called multiple times.
How can I get the count of the pages and scroll to the end of the .pdf document after it is loaded?
@(Html.Kendo().PDFViewer().Name("documentViewer")
.PdfjsProcessing(pdf => pdf.File(Url.Content("~/Content/data/default.pdf")))
.Events(e => e
.Error("(function(e) { onDocumentViewerError(e); })")
.Render("(function(e) { onDocumentViewerRender(e); })")
.Open("(function(e) { onDocumentViewerOpen(e); })")
)
)
...
<script type="text/javascript">
...
function loadDefault() {
var docUrl = window.location.origin + window.location.pathname + "Content/data/default.pdf";
var pdfViewer = $("#documentViewer").data("kendoPDFViewer");
pdfViewer.fromFile(docUrl);
}
onDocumentViewerRender = function(e) {
console.log("render");
if (goToEnd) {
goToEnd = false;
setTimeout(function () {
var pdfViewer = $("#documentViewer").data("kendoPDFViewer");
pdfViewer.activatePage(pagesCount); // how to get pagesCount
}, 2000);
}
}
onDocumentViewerOpen = function(e) {
console.log("open"); // not shown in Console
}
...
</script>
Add the ability to display aggregates of non grouped columns in the group header.
Today, when we use IEnumerable<dynamic> type as the model for the kendo grid, the grid is generated fine, but the javascript serialization fails when we pass the datasource to the GridBuilder constructor. This results in empty grid client side, because the datasource is empty, even if the html initially generated contains the values. This behavior comes from a problem with the JavaScriptSerializer (also present in the JSon() function of MVC)
If you change the dataSource to a grid (for example by changing the filter conditions) so that less data is returned, you will not be warned if the current page is no longer valid. No error is reported and no data is returned and you won't have a clue why. Try this to replicate: Make a paged grid plus a couple of datepickers to filter the grid data by date range. Add a button to make the new filter dates effective. Write a new MVC controller method to populate the data, using the ToDataSourceResult extension method e.g. "return Json(obj.ToDataSourceResult(request));" to return data. Open a sizeable dataset in the grid (many pages) and go to the last page. Change the filter conditions to be much more restrictive. Click the button to make them effective. Watch as the grid displays no data, the code reports no error and stepping into your controller confirms that the method is returning data. Confusing huh? An error or warning would make this much clearer.
The existing solution was built in 2009 using .Net 3.5 web forms framework (List View), ASP.Net Ajax (Accordion) and JQuery (validation). The web page accomplishes the following key functional requirements – a. Ability to group products – The groups are dynamically extracted from the same datasource that is providing the product list. Using ASP.Net Ajax we were able to provide the expand / collapse visual effect. b. Ability to enter order quantities very quickly - a lot of stores place orders at the last minute (5-10 minutes before order deadline) for valid reasons. The web page readily provides a text box for quick entry. On a desktop, the user can traverse the rows within the group using the tab key. The web page typically contains 150 – 200 products for entry. Having to click on Edit/Update/Cancel dramatically increases the number of clicks / touch / swipe. Besides, it creates a real estate issue on smaller form factors. c. Real time validation – using JQuery we were able to validate the row as and when the quantity was entered. Any error would show below the row in question. The error would continue to show until the quantity was revised. The error however, will not stop the user from entering quantities on other rows. This approach lets the user review any errors in the end.
Possibility to iterate over all manually defined columns and f.i. set width or any other property.
Static property requires null instance, non-static property requires non-null instance. Parameter name: expression Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. Exception Details: System.ArgumentException: Static property requires null instance, non-static property requires non-null instance. Parameter name: expression [ArgumentException: Static property requires null instance, non-static property requires non-null instance. Parameter name: expression] System.Linq.Expressions.Expression.Property(Expression expression, PropertyInfo property) +4376691 System.Linq.Expressions.Expression.MakeMemberAccess(Expression expression, MemberInfo member) +90 Kendo.Mvc.Infrastructure.Implementation.Expressions.MemberAccessTokenExtensions.CreateMemberAccessExpression(IMemberAccessToken token, Expression instance) +122 Kendo.Mvc.Infrastructure.Implementation.Expressions.ExpressionFactory.MakeMemberAccess(Expression instance, String memberName) +107 Kendo.Mvc.Infrastructure.Implementation.Expressions.PropertyAccessExpressionBuilder.CreateMemberAccessExpression() +70 Kendo.Mvc.Infrastructure.Implementation.Expressions.MemberAccessExpressionBuilderBase.CreateLambdaExpression() +17 Kendo.Mvc.Infrastructure.Implementation.SortDescriptorCollectionExpressionBuilder.Sort() +120 Kendo.Mvc.Extensions.QueryableExtensions.CreateDataSourceResult(IQueryable queryable, DataSourceRequest request, ModelStateDictionary modelState, Func`2 selector) +888 Kendo.Mvc.Extensions.QueryableExtensions.ToDataSourceResult(IQueryable`1 enumerable, DataSourceRequest request, Func`2 selector) +58
ToDataSourceResult is very very slow on Large datasets - getting the Total Count is the issue, have an option to omit the total count or provide a way to inject the total count with some more efficient code.
We can add option for No filter in filter selection , Is consumes less space then other
today we need to loop through all rows in the Grid to do something in a row. On Telerik Extensions we had the OnRowDataBound event which we had the current row to do something.
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()