ASP 4.8 MVC application using kendo 2023.2.606
Have a page w/ a grid on it - bound to a list in my model - and wanted to add a default sort.
Here's a stripped down version of my grid:
@(Html.Kendo().Grid(Model.RepList)
.Name("Grid")
.Columns(columns =>
{
columns.Bound(p => p.SalesRepname).Title("Sales Rep");
})
.Sortable()
.Pageable()
.DataSource(dataSource => dataSource
.Ajax()
.Sort(sort => sort.Add("SalesRepname").Ascending())
.ServerOperation(false)
)
)
The default sort works - but the UI presents a double-sort arrow. Clicking the column again re-sorts the column - flipping both arrows the other direction. Is there a workaround for this bug to only have one sort arrow? or is there a fix for this in an upcoming release?
Was originally doing this with ASP.NET AJAX WebForms Telerik Grid, but because of walls we hit with other functionality we are moving page to MVC.
Thing of Order Line and then as detail table we have Line Items. The Order Line has a Category Drop Down. When the Order Line Category gets changed all the Line Items must be changed to the same Category of the Order Line. If a Line Item category is changed then if all the Line Items have the same category then the Order Line needs to get changed to the category of all the Line Items. If all of the Line Items arent the same then the Order Line must be changed to the "Multiple" category.
We have been able to make changes to the datasource of the Line Items and if you click on the drop down in a Line Item the DropDown will change and the Category of the Order Line is shown as selected, but not until then. When page 1st renders the Order Line has a drop down with "Category One" showing, then all the Line Items will also show that category in the drop down. If you change the Category of the Order Line with say "Category Two" the line items get changed, but user doesnt see in grid. If the user clicks on the Line Item dropdown the drop down appears and the item selected shows "Category Two".
How to make this work as desired with MVC and Kendo?
hi,
When Multi checkbox column is enabled in MVC Kendo Grid, it keeps spinning and not loading filter checkboxes for large dataset.
Please find the sample code attached.
We use Kendo.Mvc, Version=2022.1.412.0.
This sample code uses lesser version.
@(Html.Kendo().Grid<TelerikMvcApp6.Models.OrderViewModel>()
.Name("grid")
.Columns(columns =>
{
columns.Bound(p => p.OrderID).Filterable(false);
columns.Bound(p => p.Freight);
columns.Bound(p => p.ShipName);
columns.Bound(p => p.ShipCity).Filterable(f => f.Multi(true).Search(true));
})
.Pageable()
.Sortable()
.Scrollable()
.Filterable()
.HtmlAttributes(new { style = "height:550px;" })
.DataSource(dataSource => dataSource
.Ajax()
.PageSize(10)
.Read(read => read.Action("Orders_Read", "Grid"))
)
)
Regards
Karthik
Using a (ASP.NET Core) Kendo spreadsheet, how to know if on the sheet are or not validation errors and what kind of if any.
I used this code to add validation
myCell.Validation(v => v
.ComparerType("custom")
.DataType("custom")
.From("R[0]C[0] > 0")
.Type("warning")
.ShowButton(true)
.AllowNulls(true)
.TitleTemplate("Alerte de validation")
.MessageTemplate("Attention, cette valeur est négative !"));
Hi, I'm updating our version of the Kendo Grid from 2021 (don't recall the exact version) to 2023.1.117 and, among other changes, it seems that the following syntax for binding the Description property to data_description is no longer valid:
columns.Bound(w => w.Description).Width(100).Title("Description")
.HtmlAttributes(new { @class = "someClass", data_description = "#=Description#" });
Similar to what is shown at the bottom of this thread:
https://www.telerik.com/forums/creating-data-bound-html-attributes-in-mvc-grid-cells
This was working prior to this update, but I can't find any documentation on the change within the site and the grid example shown here:
https://demos.telerik.com/aspnet-mvc/grid
seems to indicate that it should still work this way, though that example may be outdated.
Note that the same Description property, referenced the same way (#-Description#) still works inside of a ClientTemplate.
I'm getting this message whenever I try and load a page containing a grid. I tried installing the Telerik.SvgIcons and Telerik.FontIcons packages, but both installations fail because of an error when installing System.Net.Http. Is there anyway I can just install the two files so that I can resurrect my .NET MVC 4.7.2 application?
The error I get while install the packages is:
Error Failed to add reference to 'System.Net.Http'.
The operation is not allowed because currently this object is not parented.
System.Net.Http version 4.2.0.0 is installed, but installing the most recent version 4.3.4 fails, whether or not there is a reference to 4.2.0.0.
I have a grid showing a list if items, with a checkbox to allow multiple rows to be selected. Virtual scrolling has been enabled, as there will be over 1000 items in the list.
I need to identify all selected rows as these will form the basis of a filter to be applied to another grid. I'm trying to use the getSelectedData method, but this keeps throwing the error:-
Uncaught TypeError: Cannot read properties of undefined (reading 'selectedRanges')
The grid definition is:-
@(Html.Kendo().Grid<InformaticsCommissioningHelper.Models.IPWLList>()
.Name("gridListNames")
.Columns(columns =>
{
columns.Select().Width(50);
columns.Bound(p => p.ListName).Title("List Name");
})
.PersistSelection()
.Events(e=>e.Change("listGridChange"))
.DataSource(dataSource => dataSource
.Ajax()
.Model(model => model.Id(p => p.ListName))
.PageSize(25)
.Sort(s =>
{
s.Add(a => a.ListName).Ascending();
})
.Read(read => read.Action("GetListNames", "SelectTest"))
)
.Sortable()
.Scrollable(scrollable => scrollable.Virtual(true))
.HtmlAttributes(new { style = "height: 400px;" })
)
There's a button that then runs the function:-
function test()
{
var grid = $("#gridListNames").data("kendoGrid");
console.log(grid.getSelectedData());
}
The project is using version v2023.2.606 .
I have tried using the change event to identify the selections, but this only works for the active page, which doesn't work for a scrollable grid.
I've just started using version v2023.2.606 and have a grid with a pop-up editor using an editor template.
This has several required fields (specified in the model), but on opening the window for a new record, the validation error tool tip is shown for the first field (image attached).
This wasn't the behavior in previous versions, which only fired the validation when the update button was clicked. How can I stop this happening?
The grid is:-
@(Html.Kendo().Grid<InformaticsCommissioningHelper.Models.Rule>()
.Name("grid")
.Events(e => e.Edit("onEdit"))
.Columns(columns =>
{
columns.Bound(p => p.ID).Title("ID").Width(120);
columns.Bound(p => p.RunOrder).Title("Order").Width(120);
columns.Bound(p => p.Description).Title("Name").Width(600);
columns.Bound(p => p.LastUpdateDate).Title("Last Updated").Width(150).Format("{0:g}");
columns.Command(command => { command.Edit(); command.Destroy(); });
})
//.ClientDetailTemplateId("subdetailsTemplate")
.ToolBar(toolbar => toolbar.Create())
.Editable(editable => editable.Mode(GridEditMode.PopUp))
.Pageable(p => p.Refresh(true))
.Sortable()
.Filterable()
.DataSource(dataSource => dataSource
.Ajax()
.Model(m => m.Id(p => p.ID))
.PageSize(15)
.Events(e => e.Error("error"))
.Read(read => read.Action("RD_Rules", "Rules").Data("antiForgery"))
.Create(a => a.Action("InsertRule", "Rules"))
.Update(a => a.Action("UpdateRule", "Rules"))
.Destroy(a => a.Action("DeleteRule", "Rules"))
.Sort(s => s.Add(a => a.RunOrder).Ascending())
)
)
and the template is:-
@model InformaticsCommissioningHelper.Models.Rule
<div style="width:650px;">
@Html.ValidationSummary(true)
@Html.HiddenFor(c => c.ID)
<p>
<span class="lbllabel2">
Name:
</span>
@Html.Kendo().TextBoxFor(model => model.Description).Name("Description").HtmlAttributes(new { style = "width:250px", Maxlength = 75 })
@Html.ValidationMessageFor(model => model.Description)
</p>
<p>
<span class="lbllabel2">
Order:
</span>
<div style="width:150px;" class="float-start">
@Html.Kendo().NumericTextBoxFor(c => c.RunOrder).Spinners(false)
@Html.ValidationMessageFor(model => model.RunOrder)
</div>
</p>
<div style="clear:both"></div>
<p></p>
<p>
<span class="lbllabel2">
SQL:
</span>
@Html.Kendo().TextAreaFor(model => model.RuleSQL).Name("RuleSQL").HtmlAttributes(new { style = "width:470px; font-family:Courier New, Courier, monospace"}).Rows(5)
@Html.ValidationMessageFor(model => model.RuleSQL)
</p>
<p>
<span class="lbllabel2">
Comments:
</span>
@Html.Kendo().TextAreaFor(model => model.Comments).Name("Comments").HtmlAttributes(new { style = "width:470px;"}).Rows(3)
@Html.ValidationMessageFor(model => model.Comments)
</p>