Completed
Last Updated: 08 Apr 2024 08:33 by ADMIN
Release 2024 Q2 (15.05.2024)

1. Create a solution with several Telerik UI for MVC projects

2. Perform a rename of a value that is present in multiple projects

Expected result: Rename is performed successfully.

Actual result: Visual Studio crashes.

Application: devenv.exe
Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception.
Exception Info: System.ArgumentException
   at EnvDTE.Document.get_ProjectItem()
   at Telerik.VSX.Web.Tracking.VSDocumentInfo.<CheckIsBlazorProject>b__9_0()
   at Telerik.VSX.Internal.VisualStudio.VisualStudioThreadHelper+<>c__DisplayClass1_0`1+<<RunInMainThread>b__0>d[[System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].MoveNext()
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task)
   at Microsoft.VisualStudio.Threading.JoinableTask.CompleteOnCurrentThread()
   at Microsoft.VisualStudio.Threading.JoinableTask`1[[System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].CompleteOnCurrentThread()
   at Telerik.VSX.Internal.VisualStudio.VisualStudioThreadHelper.RunInMainThread[[System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]](System.Func`1<Boolean>)
   at Telerik.VSX.Tracking.Web.KendoTrackedDocumentsManager.FindBlazorComponents(System.Collections.Generic.HashSet`1<Telerik.VSX.Tracking.Web.KendoWidgetComponent>, Telerik.VSX.Tracking.ProjectWrappers.DocumentInfo, System.String, System.String)
   at Telerik.VSX.Tracking.Web.KendoTrackedDocumentsManager.FindComponents(Telerik.VSX.Tracking.ProjectWrappers.DocumentInfo)
   at Telerik.KendoUI.Mvc.VSPackage.VsPackage+<>c__DisplayClass34_0+<<DocumentEvents_DocumentSaved>b__0>d.MoveNext()
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task)
   at Telerik.KendoUI.Mvc.VSPackage.VsPackage+<DocumentEvents_DocumentSaved>d__34.MoveNext()
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at Microsoft.VisualStudio.Threading.JoinableTaskFactory+SingleExecuteProtector.TryExecute()
   at System.Windows.Threading.ExceptionWrapper.InternalRealCall(System.Delegate, System.Object, Int32)
   at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(System.Object, System.Delegate, System.Object, Int32, System.Delegate)
   at System.Windows.Threading.DispatcherOperation.InvokeImpl()
   at MS.Internal.CulturePreservingExecutionContext.CallbackWrapper(System.Object)
   at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
   at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
   at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object)
   at MS.Internal.CulturePreservingExecutionContext.Run(MS.Internal.CulturePreservingExecutionContext, System.Threading.ContextCallback, System.Object)
   at System.Windows.Threading.DispatcherOperation.Invoke()
   at System.Windows.Threading.Dispatcher.ProcessQueue()
   at System.Windows.Threading.Dispatcher.WndProcHook(IntPtr, Int32, IntPtr, IntPtr, Boolean ByRef)
   at MS.Win32.HwndWrapper.WndProc(IntPtr, Int32, IntPtr, IntPtr, Boolean ByRef)
   at MS.Win32.HwndSubclass.DispatcherCallbackOperation(System.Object)
   at System.Windows.Threading.ExceptionWrapper.InternalRealCall(System.Delegate, System.Object, Int32)
   at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(System.Object, System.Delegate, System.Object, Int32, System.Delegate)
   at System.Windows.Threading.Dispatcher.LegacyInvokeImpl(System.Windows.Threading.DispatcherPriority, System.TimeSpan, System.Delegate, System.Object, Int32)
   at MS.Win32.HwndSubclass.SubclassWndProc(IntPtr, Int32, IntPtr, IntPtr)

 

Completed
Last Updated: 03 Apr 2024 07:45 by ADMIN
Release 2024 Q1
Created by: Victor
Comments: 21
Category: UI for ASP.NET MVC
Type: Feature Request
25
The Grid should allow switching between case sensitive and case insensitive filtering.
Declined
Last Updated: 25 Mar 2024 13:37 by ADMIN
Server filtering kendo grids and json deserialization errors in asp.net.
When we are managing large volumes of data with several thousand datasource objects (grid rows) all of the rows need to be transported with each event.
This leads to errors with the json being too large to serialize.

We wish to restrict the data footprint and only return data for the page requested.
so if the grid has 100 pages and page size is 10 we only want to return the 10 rows required for the page, not 1000 rows.
This is not possible with the Kendo grid.
To work around this issue we have devised a strategy to return the the number of datasource objects Kendo grid expects up to the requested page count, but they are empty objects with no data, and then only have the last 10 rows populated with data.
It would be better for the grid control just to expect the number of results expected to the selected page and not have to add the dummy rows, so long as the total number of rows is provided so that the grid knows how many pages there are.

Our work around looks something like this in asp.net MVC

var users = cm.getUsers();
var result = new DataSourceResult();
var results = new List<user>();
int index = 0;
if (pageNum == 1)
    results = users.Take(pageSize).ToList();
else
{
     index = pageSize * (pageNum - 1);
     results = users.Skip(index).Take(pageSize).ToList();
}
List<user> output = null;

[This is the bit that should be handled by the kendo grid, without the need for dummy rows to further reduce json size]
if (index == 0)
{
     output = new List<user>(results);
}
else
{
     output = new user[index].ToList();
     output.AddRange(results);
}
result = output.ToDataSourceResult(request);
result.Total = users.Count();
return Json(result, JsonRequestBehavior.AllowGet);
Completed
Last Updated: 25 Mar 2024 13:34 by ADMIN
Created by: Marcel
Comments: 1
Category: UI for ASP.NET MVC
Type: Feature Request
0

I'm using the ClientTemplate-Feature to render buttons for CRUD-actions in grids. For one entity I have to use a TreeList instead of a Grid due to parent-child relations. It would be great if I could use the same templates I use for the grid for the treelist as well.

Example:

columns.Bound(x => x.UserName)
        .ClientTemplate("<a href='" + Url.Admin().Account() + "/#= Id#/edit'>#= UserName #</a>")
        .Width(300);
Declined
Last Updated: 25 Mar 2024 13:31 by ADMIN
Created by: Chris
Comments: 1
Category: UI for ASP.NET MVC
Type: Bug Report
0

I have a cshtml page that uses Kendo UI ASP.NET MVC that does the following:

  • sends an ajax request to a controller action method,
  • opens a new tab using window.open(),
  • displays a temporary message to let the user know that something is happening,
  • then overwrite the new tab content using the view that is contained in the ajax response.

The view contains one or more grid widgets (the number depends on how many result types were requested) and each grid is set up to export Excel.

The problem is that when window.open() is used to open a new tab, the browser history state is null and the window.location.href is empty with the browser location showing "about:blank". For Chrome and Firefox, this does not cause any issues when exporting excel for the grid.  However, when using Edge with this situation, when the Export to Excel grid toolbar button is clicked and the onExportExcel event is fired,  the browser Open or Save dialog prompt is displayed but the active tab (the one that contained the grid) closes. This behaviour is very undesireable. The ProxyUrl grid excel option does not fire since Edge supports javascript file saving.

A workaround for this situation is to forcibly set the new tab window object location href by using the window.history.pushUpdate function. A code snippet is included below.


let dataModel = {Id = 123571113, Name="jason bourne"};
let jsonModel = JSON.stringify(dataModel);
let curDate = new Date();
let targetUrl = '@Url.Action("Reports", "Report", new { @area = "Reports" })';
let targetWindowName = "something meaningful" + " " + curDate.toISOString();//add datetime stamp to avoid issue where you cannot open a window with the same name as the current window.
let html = "some html content to provide a temporary message to your audience";
let targetWindow = window.open(targetUrl, targetWindowName);
if (targetWindow !== null && targetWindow !== undefined)
{
   targetWindow.document.write(html);
   targetWindow.document.close(); // to finish loading the page
   targetWindow.document.title = targetWindowName;

   //attempt to forcibly update the URL in the history and target window location to fix problem with grid export to excel on Edge browser
   let targetWindowHistoryHref = window.location.href;
   if (oModel.BuildingDesigns !== null && oModel.BuildingDesigns !== undefined && oModel.BuildingDesigns.length > 0) {
       targetWindowHistoryHref += "?oBuildingDesignId=" + oModel.BuildingDesigns[0].ObfuscatedBuildingDesignId + "&BuildingDesignName=" + oModel.BuildingDesigns[0].BuildingDesignName;
   } else {
       targetWindowHistoryHref += "?" + oModel.Target;
   }
   targetWindow.history.pushState(null, null, targetWindowHistoryHref);
}
$.when(
	$.ajax({
		type: "POST",
		dataType: "html", // this is the data type expected to be returned from the controller method
		contentType: "application/json", // this is the content type expected by the controller method
		url: targetUrl,
		data: jsonModel,
		beforeSend: function() {
			console.log(".... submitting report request");
			athena.loader.loading("submitting report request");
		},
		success: function(response) {
			athena.loader.stopLoading();
			if (debugLevel > 2) {
				console.log(".... response = " + response + " : ", response);
			}

			//attempt to populate the target browser tab with the response
			try {
				console.log(".... attempting to open a browser tab and populate it with the HTML response object");
				console.log(".... targetWindow = " + targetWindow);
				//will trigger popup blockers :: targetWindow = window.open("", oModel.Target);
				if (targetWindow !== null) {
					if (response === null || response === undefined) {
						targetWindow.document.body.innerHTML = '';
					} else {
						//completely replace the existing document (not just the innerhtml)
						targetWindow.document.open();
						targetWindow.document.write(response);
						targetWindow.document.close();
						targetWindow.document.title = targetWindowName;
					}
				}
			} catch (ex) {
				// do nothing, just catch when the open fails.
				console.log("error: " + ex.message);
			}
		},
		error: function(jqXhr, textStatus, errorThrown) {
			console.log('.... error :: ajax status = ' + textStatus + ' :: errorThrown = ' + errorThrown);
			console.log('....-- jqXhr.responseText :: \n' + jqXhr.responseText);
		}
	})
).done(
	function() {
		console.log(".... report request has completed");
		targetWindow.focus();
	}
);

Unplanned
Last Updated: 25 Mar 2024 13:30 by ADMIN
Created by: Reza
Comments: 7
Category: UI for ASP.NET MVC
Type: Feature Request
1

There is a Kendo Validation in addition to ASP.net MVC one. 

There is a need for a method or script to disable the Kendo Validation and enforce the code to follow rules we define in the model.

Currently we have to write validation bypass script for each field, but I am looking for a way to disable Kendo Validations for the entire project or/and for specific page and it follows validation rules from the MVC model.

In most cases, validations from the MVC are sufficient and there is no need for redundance validations from the telerik.

 

Completed
Last Updated: 25 Mar 2024 13:27 by ADMIN
The title Toolbar Comannds and right above it a link to Breacrumb
Unplanned
Last Updated: 25 Mar 2024 13:25 by ADMIN
Created by: Steven
Comments: 0
Category: UI for ASP.NET MVC
Type: Feature Request
0

My understanding after talking to support is that a grid with a popup editor has code behind the scenes that stops adverse scrolling behavior when the popup window closes.  However, under certain circumstances, this doesn't work if you have a grid nested in your popup editor that also has a popup editor.  As it was described to me, this "behavior is not directly related to the Grid, but the Kendo Window. Generally, it provides the preventScroll property, but I am afraid this scenario is more complex due to the window being internally embedded into the Grid".

The exact scenario I found was that if you shrink you browser window small enough that you need to use some scrolling, scroll down your grid a little, then do something to cause the popup editor to open.  Scroll down again to get to your nested grid, open that popup editor, then close it.  The browser then auto scrolls to the top.

I was given this code to fix the issue (and it DOES fix it):

<script>
    kendo.ui.Grid.fn._destroyEditableOrg = kendo.ui.Grid.fn._destroyEditable;
    kendo.ui.Grid.fn._destroyEditable = function () {
        var that = this;
        if (that._editContainer) {
            var kw = that._editContainer.data().kendoWindow;
            kw.setOptions({
                modal: false
            });
        }
        that._destroyEditableOrg();
    };
</script>

The problem is that these fields aren't documented... I would never have figured this out on my own.  So my feature request is that either this behavior is fixed or these properties exposed from the Grid settings.  

-Steven

PS: For Telerik, the original ticket was 1589389.

Unplanned
Last Updated: 25 Mar 2024 13:24 by ADMIN
Created by: Reza
Comments: 0
Category: UI for ASP.NET MVC
Type: Feature Request
1
There should be ability to select different voice for the CAPTCHA audio, the basic one could be selection between female or male voice and in more advance add some additional voice. Something similar to the Windows narrator where you are able to select different voices. 
Unplanned
Last Updated: 25 Mar 2024 13:23 by ADMIN
Created by: Eric Mooiweer
Comments: 0
Category: UI for ASP.NET MVC
Type: Feature Request
2

Hello,

Request/suggestion to enhance the scheduling functionality. For production environments, especially with long running processes the current setup is not sufficient.

See excel for an example of how this could work. Extension of current timeline to include a year. Would be best if multiple timelines could be defined creating more or less detail depending on choices.

The other axis to relate to the resource/asset where the work will take place.

Currently the scheduler works best for short-running activities. Displaying longer running activities is a challenge.

Unplanned
Last Updated: 25 Mar 2024 13:20 by ADMIN
Created by: Paul
Comments: 3
Category: UI for ASP.NET MVC
Type: Feature Request
0

I have a Kendo Notification component on my page. When the page loads, it is possible a notification needs to show immediately. This fails because the Notification component is not ready yet. Even putting this message show inside a document.ready() call does not work. There’s no rendered event on this component to know when Kendo has it added to the DOM and it is accessible. So I ended up creating an array of messages to show. And running a setInterval block on page load until it is ready to go. Then clearing the interval and message array. It’s a work around but it is hacky and it would be better if I could subscribe to an event that tells me when the notification component can be used.

Unplanned
Last Updated: 25 Mar 2024 13:16 by ADMIN
Just like posted here (and declined) : http://kendoui-feedback.telerik.com/forums/127393-kendo-ui-feedback/suggestions/3844570-serialization-support-of-datasourcerequest-and-app

I would like to see a portable separate assembly that : 
- can be referenced both on ASP.NET MVC side and WCF server side.
- A DataSourceRequest and DataSourceResult class that serialize well in both SOAP and REST WCF.

Referencing Kendo from the Application server side also requires references to System.Web.Mvc, Razor pages, ... and others that shouldn't be necessary.
Completed
Last Updated: 18 Mar 2024 17:01 by ADMIN
Release 2024 Q2
Created by: Support
Comments: 2
Category: UI for ASP.NET MVC
Type: Bug Report
2

Bug report

Reproduction of the problem

  1. Reference kendo.all.min.js and kendo.all.min.js.map in a project
  2. Add a basic Grid:
<div id="grid"></div>
<script>
    // The dataSource is initialized as a stand-alone widget that can be bound to the Grid.
    var dataSource = new kendo.data.DataSource({
        transport: {
            read: {
                // The remote endpoint from which the data is retrieved.
                url: "https://demos.telerik.com/kendo-ui/service/products",
                dataType: "jsonp"
            }
        },
        pageSize: 10
    });

    $("#grid").kendoGrid({
        // The dataSource configuration is set to an existing DataSource instance.
        dataSource: dataSource,
        pageable: true
    });
</script>
  1. Open the browser's dev tools Source tab and place a breakpoint (e.g., on line 3715).

Current behavior

The breakpoint is added at the last line (326079) of the file.

Expected/desired behavior

The breakpoint is added at the desired line (e.g., 3715).

Environment

  • Kendo UI version: 2023.3.1010
  • jQuery version: x.y
  • Browser: [ Chrome XX]
Completed
Last Updated: 22 Feb 2024 15:32 by ADMIN
Release 2024 Q2

In a Selectable grid, when only one column is shown in the grid, and the model's Id field is specified, an error occurs on selection.

If you include more than one column (must be more than one visible) it works correctly.

If the model's Id is not specified, it works correctly even with only one column visible. 

 

@(Html.Kendo().Grid<TelerikMvcApp1.Models.OrderViewModel>()
    .Name("grid1")
    .Columns(columns => {
        columns.Bound(p => p.ShipName);
        columns.Bound(p => p.ShipCity).Hidden(true);
    })
    .Pageable()
    .Sortable()
    .Scrollable()
    .Filterable()
    .Selectable(s => s.Mode(GridSelectionMode.Single))
    .HtmlAttributes(new { style = "height:430px;" })
    .DataSource(dataSource => dataSource
        .Ajax()
        .PageSize(20)
        .Read(read => read.Action("Orders_Read", "Grid"))
        .Model(m => m.Id("OrderID"))
     )
)


Unplanned
Last Updated: 05 Feb 2024 12:21 by ADMIN
Created by: Oscar
Comments: 1
Category: UI for ASP.NET MVC
Type: Feature Request
10
Row's hover effect should be optional and it could be enabled/disabled in grid's configuration, the same as we add Selectable, Navigatable, Sortable, Editable, etc., functionalities to grid. This could apply to odd/even coloring too. Should no need to do hacks to achieve this.
Completed
Last Updated: 05 Feb 2024 12:17 by ADMIN
Of the highest priority, we desperately need file explorer for inserting and uploading images.  In the AJAX editor, this appears to be build off the radFileExplorer control which is the other one we REALLY need for MVC which doesn't exist at all.
Completed
Last Updated: 05 Feb 2024 12:09 by ADMIN
Release 2022.R2.SP2
Created by: Jonathan
Comments: 1
Category: UI for ASP.NET MVC
Type: Bug Report
0

Hi,

We are using globalization with UI for ASP.NET MVC to translate control to French (fr-CA). However, while most messages are correctly displayed in French, there are some that are still displayed in English. For example, if we use the Grid control with filter on a 'string' column, the dropdown for the operators shows both French ("Commence par") and English ("Is empty") operators:

Looking at the source code, we can see that in ressource files "Messages.fr-FR.resx" and "Messages.fr-CA.resx", there are some messages that are still in English (for example, Filter_StringIsEmpty).

Note that corresponding text seems to be correctly translated in jQuery messages file (for example, "kendo.messages.fr-CA.js"), so it might only be a matter of applying the same translation to .resx files.

Note also that the same problem seems to be present in the source code of the latest version (2020.1.114).

Thanks! 

Unplanned
Last Updated: 31 Jan 2024 07:53 by Greg
Created by: Greg
Comments: 0
Category: UI for ASP.NET MVC
Type: Feature Request
1
Adding SVG Helper and widget will provide the opportunity to add SVG icons without the need of additional scripts to be added manually
Completed
Last Updated: 19 Jan 2024 13:36 by ADMIN
Release 2024 Q1
Created by: Imported User
Comments: 2
Category: UI for ASP.NET MVC
Type: Feature Request
16
Right now the Telerik UI MVC NuGet package is a 30 MB package that installs not just the DLL, but a lot of boilerplate JavaScript and CSS. I prefer to acquire the necessary content via Bower, so I can only install what I need.

Currently, after every upgrade I have to wait for the package to install, then delete all of the unused content files. It would be nice if you supplied an "assembly-only" package, moving the content into an optional package that users who still need it could install. It would reduce upgrade time substantially, as well as offer less chance for a mistake.
Unplanned
Last Updated: 28 Dec 2023 08:11 by ADMIN
Created by: Sreeju
Comments: 1
Category: UI for ASP.NET MVC
Type: Feature Request
0
Add Cut & Paste feature, so that I can move file / folder from one path to another.
1 2 3 4 5 6