Unplanned
Last Updated: 28 Jan 2025 08:24 by ADMIN

Current configuration: server-side filtering

Desired behavior:

  1. Grid searches are "anded" to any existing filters
  2.  When the search box is cleared the pre-existing filters are retained
Declined
Last Updated: 27 Jan 2025 17:54 by ADMIN
I am using the Kendo UI Upload Control and wanted to allow for multiple files in synchronous mode, but when adding multiple files at the same time, they are grouped together in the same line item. Is there a way to have each separate file as its own line item and remove item individually if we upload multiple files together? Currently while uploading multiple files and removing a single one is not supporting in synchronous mode.
Completed
Last Updated: 27 Jan 2025 09:41 by Giovanni
Release 2024 Q1

Bug report

MultiSelect configured for server-filtering="true" sends an empty request on focusout

     <kendo-multiselect for="SelectedOrderIds" style="width:100%"
                       placeholder="Select addresses..."
                       datatextfield="ShipName"
                       datavaluefield="OrderID"
                       filter="FilterType.Contains"
                       value="Model.SelectedOrders.Select(x=>x.OrderID)">
        <datasource type="DataSourceTagHelperType.Ajax" server-filtering="true">
            <transport>
                <read url="@Url.Page("Index", "Read")" data="forgeryToken" />
            </transport>
            <schema data="Data">
                <model id="OrderID">
                    <fields>
                        <field name="ShipName" type="string"></field>
                    </fields>
                </model>              
            </schema>
        </datasource>
    </kendo-multiselect>

Reproduction of the problem

TelerikAspNetCoreApp197.zip

  1. Run the attached application
  2. Enter 34, for example, and select the returned item
  3. Click outside of the MultiSelect

Current behavior

An empty request is sent, fetching all data.

Expected/desired behavior

A request should not be sent.

Environment

  • Kendo UI version: 2021.1.330
  • Browser: [all]
Pending Review
Last Updated: 24 Jan 2025 19:57 by Garrett

In this screenshot, End Date and Subm Is Open are "nested" properties, and Prod Date and Is LatestVersion are *not* nested.  The row filter functionality is not displaying the correct row filter widget.

Here's a data sample:

{

            "SubmissionVersionId": 1020,

            "ReleaseId": 2008,

            "SubmissionVersionNumber": 6,

            "IsLatestVersion": true,

            "SetId": "E2410-1f",

            "EioSubmissionId": null,

            "SubmissionName": null,

            "RequestDate": null,

            "SubmissionDate": null,

            "WitsDate": null,

            "ProdDate": null,

            "OnHoldReason": null,

            "IsSubmitted": true,

            "Created": "2024-12-20T14:39:51-08:00",

            "RowVersion": "AAAAAAAAn28=",

            "Release": {

                "ReleaseId": 2008,

                "UnversionedSetId": "E2410-1",

                "StatusId": 1,

                "ReleaseTypeId": 1,

                "ReleasePriorityId": 3,

                "EncDate": "2025-01-08",

                "KphcSuite": null,

                "SnowReq": null,

                "SnowRitm": null,

                "Created": "2024-12-17T11:20:02-08:00",

                "ReleasePriority": {

                    "ReleasePriorityId": 3,

                    "ReleasePriorityName": "Routine",

                    "ReleasePriorityAbbreviation": "ROU"

                },

                "ReleaseType": {

                    "ReleaseTypeId": 1,

                    "ReleaseTypeName": "New"

                },

                "Status": {

                    "ReleaseStatusId": 1,

                    "ReleaseStatusName": "In Progress",

                    "IsOpen": true

                }

            }

        }

 

Here is the schema definition.

 

        .Schema(s => {
            s.Model(model =>
            {
                model.Id(p => p.SubmissionVersionId);
                model.Field(p => p.SubmissionVersionId).Editable(false);
                model.Field(p => p.ReleaseId).Editable(false);
                model.Field(p => p.SubmissionVersionNumber).Editable(false);
                model.Field(p => p.IsLatestVersion).Editable(false);
                model.Field(p => p.EioSubmissionId).Editable(false);
                model.Field(p => p.SubmissionName);
                model.Field(nameof(SubmissionVersion.RequestDate), typeof(DateOnly)).DefaultValue(null);
                model.Field(nameof(SubmissionVersion.SubmissionDate), typeof(DateOnly)).DefaultValue(null);
                model.Field(nameof(SubmissionVersion.WitsDate), typeof(DateOnly)).DefaultValue(null);
                model.Field(nameof(SubmissionVersion.ProdDate), typeof(DateOnly)).DefaultValue(null);
                model.Field(nameof(SubmissionVersion.IsSubmitted), typeof(bool)).DefaultValue(false);
                // Release fields
                model.Field(nameof(Release.UnversionedSetId), typeof(string)).Editable(false);
                model.Field(nameof(Release.EncDate), typeof(DateOnly));
                model.Field(nameof(Release.SnowReq), typeof(string));
                model.Field(nameof(Release.KphcSuite), typeof(string));
                model.Field(nameof(Release.SnowRitm), typeof(string));
                // ReleaseStatus fields
                model.Field(nameof(ReleaseStatus.IsOpen), typeof(bool)).Editable(false);
            });
        })

I've attached the full cshtml file.

Unplanned
Last Updated: 24 Jan 2025 15:13 by E

Bug report

When ParseFormats is set in the DatePicker editor used in the Grid popup, the picker does not show the field value to which it is bound.

Reproduction of the problem

  1. Add a DateOnly? field to the model:

public DateOnly? OrderDate { get; set; }

  1. Bind a Grid column to the field.
  2. Set the default value in the DataSource:
.Model(model =>
{
    model.Id(p => p.OrderID);
    model.Field(p => p.OrderDate).DefaultValue(new DateOnly());
})
  1. Configure Popup editing in the Grid.
  2. Add a DateOnly.cshtml editor in EditorTemplates:
@model DateOnly?

@(Html.Kendo().DatePickerFor(m => m).ParseFormats(new string[] { "MM/dd/yyyy" }).HtmlAttributes(new { title = Html.ViewContext.ViewData.TemplateInfo.GetFullHtmlFieldName("") }))

Current behavior

When editing a record. The value of the OrderDate field is not displayed in the DatePicker.
If you remove the ParseFormats option from the DatePicker, it shows the value as expected.

Expected/desired behavior

The field value should be displayed in the picker, even when ParseFormats is set.

Environment

  • Kendo UI version: 2024.4.1112
  • Browser: All
Unplanned
Last Updated: 24 Jan 2025 07:10 by Dave
The Save button should be disabled after the first click when creating a new item.

This should be applied when using a Telerik UI for ASP.NET Core Grid with PopUp Edit Mode.
Planned
Last Updated: 22 Jan 2025 17:39 by ADMIN
Scheduled for 2025 Q1 (Feb)

Bug report

The column format applied through the .Format() option is ignored, if the column is bound to a nullable DateOnly field.

Reproduction of the problem

  1. Declare a nullable DateOnly field in the view model:

public DateOnly? PaymentDate { get; set; }

  1. Bind a column to the field and set its format:

columns.Bound(p => p.PaymentDate).Title("Date").Format("{0:MM/dd/yyyy}").Width(160);

Current behavior

The specified format is ignored, e.g., the Grid shows 2025-01-21, instead of 01/21/2025

Expected/desired behavior

The specified column format is applied.

Environment

  • Kendo UI version: 2024.4.1112
  • Browser: [all ]
Unplanned
Last Updated: 20 Jan 2025 15:20 by Marv

### Bug report

When deferring the component scripts to a file and a specified item of a Form HtmlHelper has a defined editor through the Editor() configuration, a client-side error is thrown:

"Uncaught Error: Syntax error, unrecognized expression: #"

### Reproduction of the problem

1) Enable the global deferred initialization.

2) Define a Form HtmlHelper with a ComboBox editor for one of its items:

@model FormViewModel

@(Html.Kendo().Form<FormViewModel>()
    .Name("form")
    .HtmlAttributes(new { action = @Url.Action("SubmitData", "Home"), method = "POST" })
    .FormData(Model)
    .Items(items =>
    {
        items.Add()
            .Field(f => f.Username)
            .Label(l => l.Text("Username:"));

        items.Add()
        .Field(f => f.City)
        .Label(l => l.Text("City"))
        .Editor(editor => editor
          .ComboBox()
          .DataTextField("Text")
          .DataValueField("Value")
          .BindTo(new List<SelectListItem>()
          {
            new SelectListItem() { Text = "City A", Value = "1" },
            new SelectListItem() { Text = "City B", Value = "2" },
            new SelectListItem() { Text = "City C", Value = "3" }
          })
        );
    })
)
@(Html.Kendo().DeferredScriptFile())

3) When the page with the Form is loaded, open the browser console and examine the error.  Review the content of the loaded kendo-deferred-scripts-xxxxx.js file - the ComboBox initialization script is included after the Form initialization script. Attached you can find screenshots.

When using the TagHelper version of the Form, the ComboBox initialization script is included in the kendo-deferred-scripts-xxxxx.js file before the initialization script of the Form with a unique generated "id" for example "3451ce77-2736-437f-9584-f5a5255902c2". In this case, no client-side errors occur.

### Expected/desired behavior

When deferring the component scripts to a file, the Form with specified editors must be initialized as expected without client-side errors.

### Workaround

Use the TagHelper version of the Form or define the editor by using the EditorTemplateView() option:

        items.Add()
        .Field(f => f.City)
        .Label(l => l.Text("City"))
        .EditorTemplateView(Html.Partial("ComboEditor"));

// ~/Views/Shared/ComboEditor.cshtml

@model FormViewModel

@(Html.Kendo().ComboBoxFor(m => m.City)
.DataTextField("Text")
.DataValueField("Value")
.BindTo(new List<SelectListItem>() {
	new SelectListItem() { Text = "City A", Value = "1" },
	new SelectListItem() { Text = "City B", Value = "2" },
	new SelectListItem() { Text = "City C", Value = "3" }
})
)

### Environment

* **Telerik UI for ASP.NET Core version: 2024.4.1112
* **Browser: [ all ]

Pending Review
Last Updated: 15 Jan 2025 13:46 by Ak

The current demo is showing  a contains predicate. To enhance the current application, I am requesting the feature to use a starts with predicate to meet a practical business need. 

The minimum length property will need to changed to 1 to limit the number of characters to be typed.

 

Unplanned
Last Updated: 14 Jan 2025 09:54 by ADMIN
Created by: Federico
Comments: 5
Category: UI for ASP.NET Core
Type: Feature Request
0

It would be nice to extend dialog like office 365 right dialog ( docked to the right).

It would be nice to have a dropdown button with a container

Completed
Last Updated: 14 Jan 2025 08:50 by ADMIN
Release 2025 Q1 (Feb)
Created by: n/a
Comments: 0
Category: Grid
Type: Bug Report
2

Bug report

When a Grid's row is reordered and then the changes are saved - a Destroy request is sent to the server for the dataItem of the reordered row. This happens even though no changes are applied to dataItem of the reordered row.

Reproduction of the problem

  1. Run this Telerik REPL or this Dojo
  2. Reorder a row
  3. Open the browser's Network Tab
  4. Click the Save Changes button

Expected/desired behavior

The Grid should request the reordered item to be perished from the backend.

Environment

  • Kendo UI version: 2023.2.718
Unplanned
Last Updated: 10 Jan 2025 12:57 by Peter

### Bug report

When the Grid is initialized in a hidden container (for example, in a non-selected tab of a TabStrip) and its initial data binding is disabled (autoBind: false), the pager information is not visible when the data is loaded afterward.

### Reproduction of the problem

1. Initialize a Grid into a non-selected tab of a TabStrip and set its autoBind option to "false".

2. Select the tab and check how the empty Grid is rendered.

3. Call the read() method of the Grid's DataSource in the browser console to request the data.

4. The data is loaded, but the pager information remains hidden.

A Dojo sample for reproduction: https://dojo.telerik.com/njVgBvza

### Expected/desired behavior

The pager information must be available when the data is loaded into the Grid.

### Environment

* **Kendo UI version: 2024.4.1112
* **jQuery version: 3.7.1
* **Browser: [all]

Completed
Last Updated: 10 Jan 2025 11:19 by ADMIN
Release 2025 Q1 (Feb)

Bug report

Dynamic Grid produces a RunTimeException when the Filterable() configuration is enabled

Reproduction of the problem

  1. Configure the dynamic Grid based on the following example.
  2. Set the .Filterable() API configuration of the Grid.
  3. Notice that the application throws a System.ArgumentNullException: Value cannot be null.

Example

@model System.Data.DataTable

@(Html.Kendo().Grid<dynamic>()
    .Name("gridItem")
    .Columns(columns =>
    {
        foreach (System.Data.DataColumn dcolumn in Model.Columns)
        {
            columns.Bound(dcolumn.ColumnName).Title(dcolumn.Caption);
        }
    })
     ...
    .Filterable()
)

The aforementioned declaration will work in the previous 2024.3.1015 version of the suite.

Current behavior

The Grid makes the application throw a runtime error.

Expected/desired behavior

The Grid makes the application should not throw a runtime error.

Environment

  • Kendo UI version: 2024.4.1112
  • Browser: [all]
Planned
Last Updated: 10 Jan 2025 08:48 by ADMIN
Scheduled for 2025 Q1 (Feb)

Enhancement

Expose the sorts TagHelper for the Grid's column filter datasource taghelper

Overview

Currently, the Grid's Column Filter Datasource Taghelper exposes the following inner child TagHelpers.

Unlike its HtmlHelper counterpart which happens to expose the .Sort() API configuration. For example:

.Columns(columns =>
{
    columns.Bound(p => p.ShipName).Filterable(ftb =>
    {
        ftb.Multi(true);
        ftb.Search(true);
        ftb.CheckAll(true);
        ftb.DataSource(dataSource => dataSource
            .Custom()
            ...
            .Sort(sort =>
            {
                sort.Add("ShipName").Ascending();
            })
        );
    });
})
Unplanned
Last Updated: 09 Jan 2025 14:32 by Dale
Created by: Dale
Comments: 0
Category: ListView
Type: Feature Request
1

Hi Team,

I would like to request that, when using endless scrolling for the ListView, to include a page indicator to let the user know what page their on when scrolling.  

Thank you!

Declined
Last Updated: 07 Jan 2025 11:59 by Ivaylo
Scheduled for 2025 Q1 (Feb)
Created by: Kaya
Comments: 1
Category: DateTimePickers
Type: Feature Request
1

This just seems like a minor oversight since the Enable(bool) method exists on the DatePicker html helper and other Kendo taghelpers support the enable or enabled attribute, but there doesn't seem to be an enable-like attribute for the kendo-datepicker. Thanks!

<kendo-datepicker for="ReadOnlyDate" enable="false"></kendo-datepicker>

Completed
Last Updated: 06 Jan 2025 07:40 by ADMIN
Release 2025 Q1 (Feb)
Created by: Richard
Comments: 0
Category: Sortable
Type: Bug Report
1

Bug report

The Start Event of a Sortable component is mapping to the "handler" configuration instead of the proper "start" event

Reproduction of the problem

REPL: https://netcorerepl.telerik.com/wIYLYnld333JlP3t08

Current behavior

The Start Event is mapped to the "handler" configuration

Expected/desired behavior

The Start Event to be mapped to the proper "start" event

TicketID: 1673355

Unplanned
Last Updated: 03 Jan 2025 13:24 by ADMIN
Created by: Sreeju
Comments: 1
Category: FileManager
Type: Feature Request
1

Currently file manager supports multiple selection by using ctrl and shift keys. However it will be a nice feature if the selection of multiple files available through checkboxs, for e.g. when hovering the item, a checkbox appears in top left corner, and user can select it or unselect it.

 

Unplanned
Last Updated: 03 Jan 2025 08:31 by ADMIN
Created by: ERCANPOLAT
Comments: 0
Category: UI for ASP.NET Core
Type: Feature Request
2

In the example below products is actually DbSet<Product>

public async Task<ActionResult> Products_Read([DataSourceRequest]DataSourceRequest request)
{
    using (var northwind = new SampleEntities())
    {
        IQueryable<Product> products = northwind.Products;
        DataSourceResult result = await products.ToDataSourceResultAsync(request);
        return Json(result);
    }
}

Under the hood the ToDataSourceResultAsync call is executed inside Task.Run

And that Task.Run is calling sync methods of IQueryable which means EntityframeworkCore queries are not taking place with async I/O

Completed
Last Updated: 26 Dec 2024 12:23 by Dan
Release 2025 Q1 (Feb)

Bug Report

The Pickers are not bound to model value when a nullable DateTime is set.

Reproduction of the problem

  1. Create a model with a nullable DateTime property
         public class MyModel
         {
               public DateTime? Birthday { get; set; }
         }
    
  2. Declare either a DatePickerFor, DateRangePickerFor, DateInputFor, or TimePickerFor Helpers
        @(Html.Kendo().TimePickerFor(m => m.Birthday))
    
  3. Notice, that the value has not been bound accordingly.

Current behavior

The Pickers are not bound to model value when nullable.

Expected behavior

The Pickers are not bound to model value when a nullable DateTime is set.

Environment

Kendo UI version: 2024.4.1112
jQuery version: x.y
Browser: [all]

1 2 3 4 5 6