I have a grid that is using a custom editor template (pop up). I would like when a user is ready to create a new entry, they have the choice to upload a list of files as well.
In my custom editor I have this:
@(Html.Kendo().Upload() .Name("files") .HtmlAttributes(new { aria_label = "files" }) )
In my Grid model, it has a member that looks like this: (Entry is the class name)
public IEnumerable<IFormFile> files {get;set;}
And my controller signature looks like this :
public ActionResult Create_Entry(Entry entry, [DataSourceRequest] DataSourceRequest request)
However Entry.files is always null. I cant seem to get the file upload widget to bind to that mode property?
I have tried adding an extra parameter for files in the controller params but that doesnt work either.
Any help is appreciated.
Hi,
Is there a UI functionality that could be called to clear all the filters on the grid? Or if this doesn't exist is there a way to just get the whole grid again?
Thanks,
Ivan
Hi everybody,
I'm using .net Core 3.1 and Kendo for Aspnetcore and I'm very happy so far with it.
But I have a question regarding the usage of Editor Templates in Kendo Grids in combination with an active CSP (inline scripts not allowed).
Using .Deferred() is already working to show my Grid, but I'm facing an issue when I try to use editor templates. Editor templates are not rendered because of a violation of the CSP.
Is there any way to edit lines in a Kendo Grid while inline-scripting is restricted by a CSP?
Thanks!
Beatrice
@(Html.Kendo().Grid<ETModel.Areas.Admin.Models.EventTriggerGridItem>()
.Name("TriggerItems")
.Columns(columns =>
{
columns.Bound(p => p.TriggerAction).ClientTemplate("#=TriggerAction.TriggerActionName#").Sortable(false).Filterable(false).Width(150);
columns.Command(command => command.Custom("Delete").Click("deleteEventTrigger")).Width(95);
})
.PersistSelection()
.Editable(editable => editable.Mode(GridEditMode.InCell))
.Selectable()
.ClientDetailTemplateId("TriggerDetailTemplate")
.Scrollable(s => s.Height("auto"))
.Resizable(r => r.Columns(true))
.DataSource(dataSource => dataSource
.Ajax()
.Batch(true)
.Events(events => events.Error("error_handler").RequestStart("hide_validation"))
.Model(model =>
{
model.Id(p => p.EventTriggerID);
model.Field(p => p.TriggerAction).DefaultValue(ViewData["DefaultTriggerAction"] as GridLookupItem).Editable(true);
})
.Read(read => read.Action("EventTriggerGrid_Read", "ETModelManager", new { emodelid = Model.EModelID }))
.Update(update => update.Action("EventTriggerGrid_Update", "ETModelManager"))
.Destroy(destroy => destroy.Action("EventTriggerGrid_Delete", "ETModelManager"))
)
)
Model...
// ETModel Builder Grid Support Classes
public class TriggerAction
{
public string TriggerActionID { get; set; }
[UIHint("TriggerAction")]
public string TriggerActionName { get; set; }
}
public class EventModelView
{
public List<TriggerAction> TriggerActionList { get; set; }
public EventModelView()
{
TriggerActionList = new ModelSelectList().GridSelectList("[etm].usp_EventModelDB_GetTriggerActionList").Select(x => new TriggerAction
{
TriggerActionID = x.ID,
TriggerActionName = x.Name,
}).ToList();
}
}
Controller...
ViewData["TriggerActionList"] = emodelview.TriggerActionList;
ViewData["DefaultActionList"] = emodelview.TriggerActionList.First();
Editor Template
@model ETModel.Areas.Admin.Models.EventModelView
@(Html.Kendo().DropDownListFor(m => m)
.Name("TriggerAction")
.DataValueField("TriggerActionID")
.DataTextField("TriggerActionName")
.BindTo((System.Collections.IEnumerable)ViewData["TriggerActionList"])
.OptionLabel("Select...")
.HtmlAttributes(new { @class = "w-100" })
)
I have attached the error picture, we can't find the kendo control for the following. I would appreciate if you can advice.
Thanks
Hi,
Any example on Form Conditional Validation ?
Thanks
I have an asp.net core razor that contains a TreeView control, populated from a List<TreeViewItemModel> .
<form id="EditEmployees">
<div>
Html.Kendo().TreeView()
.Name("ActiveEmployees")
.TemplateId("treeview")
.BindTo((IEnumerable<TreeViewItemModel>)ViewBag.employeeList)
.Checkboxes(c => c.CheckChildren(true))
.DragAndDrop(false)
)
</div>
<br />
</form>
My issue:
When I submit the form back to the POST Action in the Controller I would like pass the checked items.
For some reason i can't see the items
Hi,
Is there any examples where scheduler is automatically scrolled to current date, but for scheduler created in ASP.NET Core?
This is exactly what I need, but I can't make it work in my ASP.NET Core project: https://www.telerik.com/forums/scheduler-timelinemonth-current-day-visible
My rows.length are always 0, so is my contentDiv.length, when I checked it.
var scheduler = $("#scheduler").getKendoScheduler();
var contentDiv = scheduler.element.find("div.k-scheduler-content");
var rows = contentDiv.find("tr td");
I've had this issue for years with the Telerik grid when trying to use the built in ColumnMenu in the same grid as template columns. I want to make a template column for a custom button. The column and button work fine, however if the template column is not the last column in the grid it causes the ColumnMenu items to all be off by one. ie: you click one of the columns to hide it in the ColumnMenu and it will hide the one above it in the list instead. It's like the column menu doesnt know to account for the template columns.
The only workaround I've found is to place the template column as the last column in the grid or to make a bound column and set its title to a blank and set sorting/paging both false, however this still then leaves a blank entry in the column menu and is not desirable. Am I missing something when using template columns and the ColumnMenu in the same grid?
Code for my template column:
columns.Template("<button type=\"button\" class=\"btn btn-grid\" data-id=\"#=Id#\"><i class=\"fas fa-fw fa-pencil-alt\"></i></button>");
Heres is some code of a grid (I chopped a lot of code out of this grid to simplify it and verified this still has the issue), all of my grids across many projects share this issue. This grid is using version 2020.2.617 and the bootstrap theme.
@(Html.Kendo().Grid<TagGridViewModel>().Name("gridTags")