Completed
Last Updated: 06 Jun 2022 22:29 by ADMIN
Created by: Cedric
Comments: 0
Category: UI for ASP.NET MVC
Type: Bug Report
0

Passing a dynamic object to a template column builder throws an exception:

c.Template(m => { })
.ClientTemplate("<input type='checkbox' value='#= Id #' />")
.Visible(ViewBag.Can.Edit);

Using an explicit cast doesn't throw the error:

c.Template(m => { })
.ClientTemplate("<input type='checkbox' value='#= Id #' />")
.Visible((bool)ViewBag.Can.Edit);

Need More Info
Last Updated: 18 Sep 2024 18:56 by ADMIN

I'm trying to modify the filter ui with a custom function that i passed to the kendo UI fuction.

here's my code :

@using Alstom_penali.Models.database;
@{
    ViewBag.Title = "Tutte le penali";
    Layout = "~/Views/Shared/_Layout.cshtml";
}

<div class="container-fluid">
    <div class="row">

        <h3>@ViewBag.Title</h3>

        @*sotto permessi*@
        @if (ViewBag.CanUploadFilePenali == string.Empty)
        {
            @(Html.Kendo().Upload()
                .Name("up_supplychain")
                .Messages(y => y.Select("Upload excel penali").UploadSelectedFiles("Avvia"))
                .HtmlAttributes(new { accept = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet,application/vnd.ms-excel" })
                .Multiple(false)
                .ShowFileList(false)
                .Events(e => e.Success("onUploadSuccess"))
                .Async(a => a
                    .Save("SuppChainExcelRead", "Summary", new { operation = "save" })
                    .Remove("SuppChainExcelRead", "Summary", new { operation = "remove" })
                    .AutoUpload(false)
                )
            )
            <br />
        }




        @if (ViewBag.CanViewSummaryAll == string.Empty)
        {
            @(Html.Kendo().Grid<PenaliModel>
                ()
                .Name("grid")
                .Events(e => e.ExcelExport("excelExport"))
                .Columns(
                columns =>
                {

                    columns.Bound(c => c.PO_Number).Title("PO Number").Width(125).Locked(true);
                    columns.Bound(c => c.Pos).Width(100).Locked(true);
                    columns.Bound(c => c.ddl_stato).Title("STATO").Width(180).Filterable(false).Sortable(false).Locked(true).ClientTemplate("#=ddl_stato.Text#").EditorTemplateName("DropDownEditor");
                    columns.Bound(c => c.ddl_Responsabilita).Title("Responsabilità").Width(200).Filterable(false).Sortable(false).Locked(false).ClientTemplate("#=descriptionTemplate(data) #").EditorTemplateName("DropDownEditorResponsabilita");
                    columns.Bound(c => c.isConQ).Title("Tipo").Width(125)
                        .Filterable(filter=> filter.UI("isConQRadioFilter"))
                        .Sortable(false)
                        .Locked(false)
                        .ClientTemplate("#=typeTemplate(data) #");

                    columns.Command(command => { command.Edit().Text("Modifica"); }).Width(100);

                    columns.Bound(c => c.Progressivo_Conferma).Width(150).Title("CONQ Report");
                    columns.Bound(c => c.DataInvioConferma).Title("Data Invio CONQ").Width(200).Format("{0:dd/MM/yyyy HH:mm}");

                    columns.Bound(c => c.NCR).Width(100);
                    columns.Bound(c => c.SupplierName).Title("Supplier Name").Width(200).Format("{0:n2}");
                    columns.Bound(c => c.ProgettoSito).Title("MBTO").Width(150);
                    columns.Bound(c => c.ImportoDaAddebitare).Title("Importo").Width(100).Format("{0:n2}");
                    columns.Bound(c => c.Importo_Negoziato).Title("Importo Negoziato").Width(150).Format("{0:n2}");
                    columns.Bound(c => c.Quality_Owner).Title("Quality Owner").Width(200);
                    columns.Bound(c => c.Progressivo_Avviso).Width(150).Title("ID_CLAIM");

                    columns.Bound(c => c.DataInvioAvviso).Title("Data Invio CLAIM ").Width(150).Format("{0:dd/MM/yyyy HH:mm}");
                    columns.Bound(c => c.DataInvioPenale).Title("Data Invio penale").Width(150).Format("{0:dd/MM/yyyy HH:mm}");
                    columns.Bound(c => c.NotaDebitoNr).Title("Nota debito").Width(125);
                    columns.Bound(c => c.DataInvioStorno).Title("Data Invio storno").Width(150).Format("{0:dd/MM/yyyy HH:mm}");
                    columns.Bound(c => c.NotaCreditoNr).Title("Nota credito").Width(125);

                    columns.Bound(c => c.Id);

                    columns.Bound(c => c.WBS).Width(200);
                    columns.Bound(c => c.Progressivo).Width(150);
                    columns.Bound(c => c.YearMonth).Width(150);

                    columns.Bound(c => c.Material).Width(200);
                    columns.Bound(c => c.Description).Width(300).ClientTemplate("<span class='ellipsis'>#:Description#</span>");
                    columns.Bound(c => c.Del_Note_Nr).Width(150);
                    columns.Bound(c => c.EmailProcurement).Title("Material planner").Width(200);

                    columns.Bound(c => c.TotalOrderQty).Width(150);
                    columns.Bound(c => c.ReceivedQtyInDelay).Width(150);
                    columns.Bound(c => c.OrderValue).Width(150).Format("{0:n2}");
                    columns.Bound(c => c.Stat_Del_Date).Width(150).Format("{0:dd/MM/yyyy HH:mm}");
                    columns.Bound(c => c.Del_Date).Width(150).Format("{0:dd/MM/yyyy HH:mm}");
                    columns.Bound(c => c.WeeksOfDelay).Width(150);
                    columns.Bound(c => c.ReceivedValue).Width(150);
                    columns.Bound(c => c.DataCreazione).Width(150).Format("{0:dd/MM/yyyy HH:mm}");
                    columns.Bound(c => c.DataModifica).Width(150).Format("{0:dd/MM/yyyy HH:mm}");


                    columns.Command(command => { command.Destroy().Text("Elimina"); }).Width(100);

                })
                .HtmlAttributes(new { style = "height: 500px;" })
                .ToolBar(tools => tools.Excel().Text("Esporta excel"))
                .Excel(excel => excel.AllPages(true).FileName("Penali.xlsx"))
                .Editable(editable =>
                {
                    editable.Mode(GridEditMode.InLine);
                    editable.ConfirmDelete("Sei sicuro?");
                })
                .Scrollable()
                .Groupable()
                .Filterable(filterable => filterable
                    .Operators(operators => operators
                    .ForString(str => str.Clear()
                    .IsEqualTo("E' uguale a").StartsWith("Inizia con").EndsWith("Finisce con")
                    .Contains("Contiene").DoesNotContain("Non contiene"))
                    .ForDate(dt => dt.Clear()
                    .IsGreaterThanOrEqualTo("Dopo o uguale al").IsLessThanOrEqualTo("Prima o uguale del"))

                ))
                .Sortable()
                .Selectable()
                .Pageable(pageable => pageable
                .Refresh(true)
                .PageSizes(true)
                )
                .DataSource(dataSource => dataSource
                .Ajax()
                .Model(model =>
                {

                    model.Id(p => p.Id);
                    model.Field(p => p.DataInvioAvviso).Editable(false);
                    model.Field(p => p.DataInvioPenale).Editable(false);
                    model.Field(p => p.DataInvioStorno).Editable(false);
                    model.Field(p => p.DataCreazione).Editable(false);
                    model.Field(p => p.DataModifica).Editable(false);
                    model.Field(p => p.Del_Date).Editable(false);
                    model.Field(p => p.Del_Note_Nr).Editable(false);
                    model.Field(p => p.Description).Editable(false);
                    model.Field(p => p.Det_Selected).Editable(false);
                    model.Field(p => p.EmailProcurement).Editable(false);
                    model.Field(p => p.ImportoDaAddebitare).Editable(false);
                    model.Field(p => p.Importo_Negoziato).Editable(false);
                    model.Field(p => p.Material).Editable(false);
                    model.Field(p => p.NotaCreditoNr).Editable(false);
                    model.Field(p => p.NotaDebitoNr).Editable(false);
                    model.Field(p => p.OrderValue).Editable(false);
                    model.Field(p => p.PO_Number).Editable(false);
                    model.Field(p => p.Pos).Editable(false);
                    model.Field(p => p.ProgettoSito).Editable(false);
                    model.Field(p => p.Progressivo).Editable(false);
                    model.Field(p => p.ReceivedQtyInDelay).Editable(false);
                    model.Field(p => p.ReceivedValue).Editable(false);
                    model.Field(p => p.Stat_Del_Date).Editable(false);
                    model.Field(p => p.SupplierName).Editable(false);
                    model.Field(p => p.TotalOrderQty).Editable(false);
                    model.Field(p => p.WBS).Editable(false);
                    model.Field(p => p.WeeksOfDelay).Editable(false);
                    model.Field(p => p.YearMonth).Editable(false);
                    model.Field(p => p.NCR).Editable(false);
                    model.Field(p => p.Progressivo_Avviso).Editable(false);
                    model.Field(p => p.Progressivo_Conferma).Editable(false);
                    model.Field(p => p.Quality_Owner).Editable(false);

                    model.Field(p => p.ddl_stato).DefaultValue(new SelectListItem() { }); //unico editabile
                    model.Field(p => p.ddl_Responsabilita).DefaultValue(new SelectListItem() { });
                    model.Field(p => p.isConQ).Editable(false);
                    model.Field(p => p.DataInvioConferma).Editable(false);
                })
                .Events(events =>
                {

                    events.RequestEnd("onRequestEnd");
                    events.Error("onGridError");

                })
                .Read(read => read.Action("Penali_List", "Summary"))
                .Update(update => update.Action("Penali_Update", "Summary"))
                .Destroy(update => update.Action("Penali_Destroy", "Summary"))

                .PageSize(10)
                )
    )
        }
        else
        {
            <p style="font-size:16px;color:red">@ViewBag.CanViewSummaryAll</p>
        }
    </div>
</div>


<div id="Pop_up" style="display:none">
    <p>Seleziona di chi sarà la responsabilità di questa penale</p>
</div>
@section scripts {
    <script type="text/javascript">


        function isConQRadioFilter(element) {
            // Create radio buttons for filtering boolean values
            var html = `
            <label>
                <input type="radio" name="isConQFilter" value="true" /> CONQ
            </label>
            <label>
                <input type="radio" name="isConQFilter" value="false" /> Ritardo
            </label>
        `;
            // Append the radio button HTML to the filter container
            element.append(html);

            // Trigger filtering when a radio button is clicked
            element.find("input[type=radio]").change(function () {
                var filterValue = $(this).val();
                var grid = $("#grid").data("kendoGrid");
                grid.dataSource.filter({
                    field: "isConQ",
                    operator: "eq",
                    value: filterValue === "true" // Convert the value to a boolean
                });
            });
        }

        function onEdit(e) {


        }

        function excelExport(e) {
            var sheet = e.workbook.sheets[0];
            var template2 = kendo.template(e.sender.columns[2].template);
            var template3 = kendo.template(e.sender.columns[3].template);

            var data = e.data;
            for (var i = 0; i < data.length; i++) {
                sheet.rows[i + 1].cells[2].value = template2(data[i]);
                sheet.rows[i + 1].cells[3].value = template3(data[i]);
                if (data[i].isConQ) {
                    sheet.rows[i + 1].cells[4].value = "CONQ";
                } else {
                    sheet.rows[i + 1].cells[4].value = "Ritardo";
                }

            }
        }



        function descriptionTemplate(data) {


            if ((data.ddl_stato.Text == "INLAVORAZIONE" || data.ddl_stato.Text == "NEGOZIATA")  && data.ddl_Responsabilita.Text != null) {
                return data.ddl_Responsabilita.Text;
            }
            else {
                return "";
            }
        }


        function typeTemplate(data) {

            var html;
            if (data.isConQ) {
                html = kendo.format(
                    "<a class=\"k-button\" href='" + '@Url.Action("Create_Penale_CONQ", "Summary")' + "/" + data.Id + " '>CONQ</a>  ",

                );
            } else {
                  html = kendo.format(
                    "Ritardo ",

                );
            }
            return html;
        }

        //(function () {
        //    isConQFilter("ciao");
        //})();

            function isConQFilter(element)
            {
                console.log("isConQFilter called");
                element.kendoDropDownList({
                    dataSource: [
                        { text: "CONQ", value: true },
                        { text: "Ritardo", value: false }
                    ],
                    dataTextField: "text",
                    dataValueField: "value",
                    optionLabel: "-- Seleziona Tipo --",
                    valuePrimitive: true
                });
            }


            //function isConQFilter(element) {
            //    debugger;
            //    console.log("isConQFilter called");

            //}
    </script>
    }
    <style>
        .ellipsis {
            overflow: hidden;
            text-overflow: ellipsis;
            display: -webkit-box;
            -webkit-line-clamp: 2;
            -webkit-box-orient: vertical;
        }


        .k-grid-header .k-header {
            height: 20px;
            padding: 0;
        }

        .k-grid tbody tr {
            line-height: 14px;
        }

        .k-grid tbody td {
            padding: 1px;
        }
    </style>


the coulm i'm talking about is the "isConq" one, i would like to show "Conq" or "Ritardo" instead of "è vero" or "è falso".

Following the doc, i'm calling the "isConQFilter" js function, but it is never triggered by the kendo.

Where am i wronged?

If you need something else, please, tell me.

I'm using kendo mvc grid version 2016.

 

Declined
Last Updated: 10 Jun 2021 06:25 by ADMIN

When using QueryableExtensions.ToDataSourceResult() from Telerik MVC, SQL following gets produced:

.. FROM [RMP].[V_UC_EQUIPMENT_LOG2_LOCALIZATION] WHERE ([Extent1].[LOG_TIME] >= convert(DateTimeOffset, ''2019-03-05 23:00:00.0000000 +00:00'', 121)) AND ([Extent1].[LOG_CLASS_ID] IN (78,7,18,30,19,16,17))

When we filter manually in code with linq, e. g.

..  table.Where(e => e.T_EquiID == 234234) ...

the linq provider produces a parameterized query as follows:

AND (@p__linq__0 = [Extent1].[T_EquiID])...

 

When using a parameterized query, Sql Server can reuse the execution plan much better saving compile time, which is in our case sometimes a big issue.

Please tell us, why can QueryExtensions do produce parameterized queries.

Declined
Last Updated: 26 Feb 2019 06:37 by ADMIN

This request feature is tied to ticket #1388825. Refer to that ticket for the illustration of the problem I am referring to. 

Given two splitter windows, all I require is to populate one splitter window with some data related to the other splitter window.

In my case, one Telerik splitter window has a simple 3-level Telerik tree control. When the 3rd level is clicked on, I want the other Telerik splitter window containing a Telerik grid to display details of what was clicked on. This requires an AJAX call to avoid having to reload the tree control.

However, while working with Support, there seems to be a very high degree of rocket science and uncertainty involved with implementing this scenario. 

I would have thought with great certainty that the functionality I need would be clearly documented somewhere in the Telerik doc database. I am still amazed that I might the first person who has this problem.

So, this feature request is to essentially provide very clear and competent documentation on the design pattern one needs to implement AJAX calls which pass data between two Telerik controls. At the very least, it would document the design pattern for the scenario I described above.

Maybe this cannot be done in the 21st Century yet. I don't know what is involved. I'm just a backend developer who purchased a Telerik license so I would not have to spend the rest of my life trying to learn Javascript.

 

Thank you,

Jay

jaylauriano@hotmail.com

 


Completed
Last Updated: 14 Feb 2019 14:49 by ADMIN
Created by: Kevin
Comments: 1
Category: UI for ASP.NET MVC
Type: Bug Report
0

Hi,

I notice that some of the styling has changed for the Blue Opal theme in the latest release (2019 R1), notably the background colour of the selected page on the grid and the already selected items on a Drop Down List have gone from dark blue to a bright blue (see attached screenshots from demos.telerik.com).

Is this by design or by mistake?

Particularly on the drop down list, this change makes it more difficult to identify the already selected items.

Can this go back to what it used to be - or is there a way of manually changing this setting via the site.css?

Thanks

Kevin

 

 

 

Declined
Last Updated: 18 Jan 2019 13:57 by ADMIN

I'm using drawing.drawDOM to create a PDF. I have to make a table of contents in the beginning of the PDF. I've got two issues:

- How do I link to another section of the PDF? <a href="#conclusion">Conclusion</a> and then later <a name="conclusion"></a> doesn't seem to work :-/

- How do I figure out on which page a specific part of the document is being rendered? In my TOC I would like to say "Conclusion....page 22".

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: 21 Nov 2023 14:10 by Neeraj
When the solution item is selected in Visual Studio Solution explorer and no UI for ASP.NET MVC projects are loaded the Extensions -> Telerik -> Telerik UI for ASP.NET MVC -> Upgrade command is available. In this case, only Create New Telerik Project command have to be available.
Unplanned
Last Updated: 13 Aug 2024 05:26 by ADMIN
Created by: Phạm
Comments: 0
Category: UI for ASP.NET MVC
Type: Bug Report
0
I have a grid like this:

@(Html.Kendo().Grid<VIP_Logic.Models.Dashboard.CriteriaModel>().Name("dgdCriteria")
                  .Columns(column =>
                  {
                      column.Bound(b => b.ParamIndex).Title("No.").Width(40);
                      column.ForeignKey(b => b.ColumnName, (IEnumerable<SelectListItem>)ViewBag.LstColumnNames, "value", "text").HtmlAttributes(new { style = "text-align: left", onChange = "onChangeColumn('#=ParamIndex#');" }).Title("Column").Width(100);
                      column.ForeignKey(b => b.Operator, (IEnumerable<SelectListItem>)ViewBag.LstOperators, "value", "text").HtmlAttributes(new { style = "text-align: left", onChange = "onChangeOperator('#=ParamIndex#');" }).Title("Operator").Width(100);
                      column.Bound(b => b.ParamValue).HtmlAttributes(new { style = "text-align: left", onChange = "setCriteriaXml();" }).Title("Value").Width(150).Encoded(false);
                      column.Bound(b => b.ParamIndex).ClientTemplate("<button class= 'k-button' type='button' onclick=onRemoveCriteria('#=ParamIndex#')>" + "Remove" + "</button>").HtmlAttributes(new { style = "text-align: center" }).Title(string.Empty).Width(50);
                  })

All the function in onchange attribute required a parameter ParamIndex. In old version, the syntax "#=ParamIndex#'" still work fine, but since i upgrade Kendo UI to latest version, this syntax doesn't work anymore. How can i make it work like old version?
Need More Info
Last Updated: 04 May 2024 04:53 by Pinkesh

Dear team,
Recently I've updated the kendo UI.
currently I'm using the this version.

 

Here I wrote the code for testing.

// cshtml code

@(Html.Kendo().Grid<Alliant.Controllers.ProductViewModel>() .Name("mixedSort") .Columns(columns => { columns.Bound(o => o.ProductName).Width(300); columns.Bound(p => p.UnitPrice).Width(300); columns.Bound(p => p.UnitsInStock).Width(300); columns.Bound(p => p.Discontinued).Width(300); columns.Bound(p => p.Group).Width(300); }) .Pageable(pageable => pageable.ButtonCount(5)) .Sortable(sortable => sortable .AllowUnsort(true) .SortMode(GridSortMode.Mixed) .ShowIndexes(true)) .DataSource(dataSource => dataSource .Ajax() .PageSize(5) .Read(read => read.Action("Sorting_Orders_Read", "Testing")) ) )

// Controller code

public ActionResult Sorting_Orders_Read([DataSourceRequest] DataSourceRequest request)
{
    List<ProductViewModel> lstData = new List<ProductViewModel>()
    {
        new ProductViewModel(){Group="A",ProductName="A1",UnitPrice=10,Discontinued=1,UnitsInStock=50},
        new ProductViewModel(){Group="A",ProductName="B1",UnitPrice=20,Discontinued=2,UnitsInStock=60},
        new ProductViewModel(){Group="B",ProductName="C1",UnitPrice=30,Discontinued=3,UnitsInStock=70},
        new ProductViewModel(){Group="C",ProductName="D1",UnitPrice=40,Discontinued=4,UnitsInStock=80},
        new ProductViewModel(){Group="C",ProductName="E1",UnitPrice=50,Discontinued=5,UnitsInStock=90},
    };

    return Json(lstData.ToDataSourceResult(request), JsonRequestBehavior.AllowGet);
}

// Model

public class ProductViewModel
{
    public string ProductName { get; set; }
    public decimal UnitPrice { get; set; }
    public int UnitsInStock { get; set; }
    public decimal Discontinued { get; set; }
    public string Group { get; set; }
}

Could you please help me to figure out the issue?

I also checked the jquery code.

// Jquery code render by kendo

Duplicated
Last Updated: 02 Aug 2023 11:22 by ADMIN
Created by: Olivier
Comments: 1
Category: UI for ASP.NET MVC
Type: Feature Request
0

Hi !

So I work with Kendo UI for JQuery and Kendo UI for ASP.NET MVC and recently I had to use your combobox and found that the search was not accent insensitive and that there were no options to make it so. I think it would be a wonderful feature to have. My dataSource contains a lot of names that could potentially have accents and it would be really great to includes thoses names when I filter without accent.

 

Thank you !

Unplanned
Last Updated: 27 Jan 2021 12:58 by ADMIN
Created by: Marc
Comments: 1
Category: UI for ASP.NET MVC
Type: Bug Report
0

Hi there,

We've just hit a strange issue.  We have a DropDownList called "Title" that displays "Mr", "Mrs", "Ms" etc.  However, we sometimes noticed that the Title submitted to the form was "LoanBorrower".  This was strange as the only place "LoanBorrower" existed was in the MVC back end of the page with "ViewBag.Title = "LoanBorrower".

It appears that if the ViewBag has an entry with the same name as a Kendo form element, the elements default value is being set as the value in the ViewBag.

I have tried this with ViewBag entries other than Title, and the result is the same.

 

To Reproduce

At the top of my "Borrower.cshtml" page I have the following:

@{
    ViewBag.Title = "LoanBorrower";
}

 

Kendo DropDownList

I stripped the DropDownList down to the bare minimum and still had the problem:

@Html.Kendo().DropDownListFor(m => m.Title)

 

The control rendered as the following.  Note the value is set to "LoanBorrower" which is the value in ViewBag.Title:

<input data-val="true" data-val-length="Title must be between 1 and 20 characters" data-val-length-max="20" data-val-length-min="1" data-val-required="Select a title." id="Title" name="Title" type="text" value="LoanBorrower" />
<script>
	kendo.syncReady(function(){jQuery("#Title").kendoDropDownList({});});
</script>

 

Kendo TextBox

I then changed the Kendo control to a Kendo TextBox and had the same problem:


@Html.Kendo().TextBoxFor(m => m.Title)

 

The control rendered as the following.  Again, the value is set to "LoanBorrower":

<input data-val="true" data-val-length="Title must be between 1 and 20 characters" data-val-length-max="20" data-val-length-min="1" data-val-required="Select a title." id="Title" name="Title" value="LoanBorrower" />
<script>
	kendo.syncReady(function(){jQuery("#Title").kendoTextBox({});});
</script>

 

Standard TextBox

I then changed the control to a standard HTML Textbox and no longer had the issue.

@Html.TextBoxFor(m => m.Title)

 

The control rendered as the following.  Note that this time, the value is an empty string which is correct.

<input data-val="true" data-val-length="Title must be between 1 and 20 characters" data-val-length-max="20" data-val-length-min="1" data-val-required="Select a title." id="Title" name="Title" type="text" value="" />

 

 

 

 

 

 

 

 

Declined
Last Updated: 07 Jun 2021 12:11 by ADMIN
Created by: Kyle
Comments: 2
Category: UI for ASP.NET MVC
Type: Bug Report
0

UI Component name doesn't validate if there are spaces being used, (an expression is used for name). When spaces are used it doesn't work and throws no errors at all in web console or visual studio output window.

For example if we use an Telerik expression (like we did) as part of the name it will break if said expression returns a value with a space. Which in hindsight makes 100% sense. I think it would be beneficial to any developers in the future if there was a layer of validation that would check to see if a UI component name has a space in it which will break the component functionality. 

In the Telerik-example.png I showed what the fields Im searching by are and you can see grid 1 is loading (which is correct and will work when I continue through the process) However grid 2 simply shows/outputs nothing in the grid at all, and the name of the grid is the black underlined field. Which is breaking due to the space being there.

Unplanned
Last Updated: 22 Jun 2021 07:36 by ADMIN
Created by: hassan
Comments: 0
Category: UI for ASP.NET MVC
Type: Feature Request
0

Hi

 

can you please enable column resizing for multicolumnbombo box popup grid.

 

thanks

regards

Hassan

Completed
Last Updated: 24 Mar 2023 10:55 by ADMIN
When using the CDN service to load scripts and styles Chrome v91 shows "Indicate whether to send a cookie in a cross-site request by specifying its SameSite attribute" errors related to cookies from the .telerik.com domain
Completed
Last Updated: 02 Feb 2022 10:45 by ADMIN
Created by: Holger
Comments: 1
Category: UI for ASP.NET MVC
Type: Bug Report
0

Editor => Imagebrowser path for subfolder is url-encoded

if a picture from a subfolder is selected, the generated image-url is encoded for the subpath

 

encoding may be usefull, but not for the path separator

Declined
Last Updated: 15 Oct 2021 16:34 by ADMIN
Pretty easy to reproduce.  Have a standard comment in javascript in a custom grid popup editor like this:

<script> 
    //my amazing function|
function() {
  var x = 0;
  doSomething();
}


Your grid will "minify" this into a single line when including the popup code as an editor template.  This will break everything because javascript will treat everything after the double-slashes as a comment, which means the entire popup is now gone.

This has been an ongoing issue for years and we expected that your code would someday be smart enough to strip comments when minifying the popup (which minifying is supposed to do anyway) or perhaps convert them so they open and close.  

Note:  I realize it's not really a "minify" since it keeps the same variables but it's about as well as i can describe what's going on.

The requested solution is simply to strip comments out when pulling in the custom popup editor, as they are pretty much useless when the entire popup is in a single line anyway.
Completed
Last Updated: 29 Sep 2022 14:54 by ADMIN
Release R1.2023-Increment.1(09.Nov.2022)

Bug report

Not reproducible with Sass themes.

Reproduction of the problem

https://dojo.telerik.com/ejaVeZUD/7

Current behavior

Map custom markers are not positioned correctly when zooming out using 'Less' themes

Expected/desired behavior

Markers are positioned correctly when zooming out.

Environment

  • Kendo UI version: 2021.3.1109
  • jQuery version: x.y
  • Browser: [all]
Completed
Last Updated: 14 Feb 2022 10:54 by ADMIN
Release 2022.2
Created by: Sean
Comments: 3
Category: UI for ASP.NET MVC
Type: Bug Report
0

The columns widths do not match the header and are slightly off, and after enough columns it is half a column out.

Completed
Last Updated: 08 Feb 2022 15:52 by ADMIN
Release 2022.R1.SP.next
Created by: Manu
Comments: 0
Category: UI for ASP.NET MVC
Type: Bug Report
0

Bug report

Regression introduced in R1 2022.

Reproduction of the problem

Reproducible in the demo: https://demos.telerik.com/aspnet-mvc/grid/search-panel

Current behavior

There is a difference in the rendering of the search panel.

MVC:

<span class="k-textbox k-grid-search k-display-flex">
    <input autocomplete="off" class="k-input" placeholder="Search..." title="Search..." type="text">
    <span class="k-input-icon">
       <span class="k-icon k-i-search"></span>
    </span>
</span>

Kendo UI for jQuery and Core:

<span class="k-searchbox k-input k-input-md k-rounded-md k-input-solid k-grid-search">
    <span class="k-input-icon k-icon k-i-search"></span>
    <input autocomplete="off" placeholder="Search..." title="Search..." class="k-input-inner">
</span>

As a result, in MVC the search panel's magnifying glass is displayed outside the input.

Additionally, the search panel's appearance in Kendo UI for jQuery and Core is different than the one in the previous versions. In R3 2021, the input is positioned on the left hand side of the Grid's toolbar and the magnifying glass appears at the right end of the input. In R2 2022, the input is positioned on the right side of the toolbar and the magnifying glass is displayed at the beginning of the input.
R3 2021 dojo
R1 2022 dojo

Expected/desired behavior

Positioning of the input within the toolbar and the magnifying glass icon within the input, to be as in R3 2021.

Environment

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