Telerik Forums
UI for ASP.NET Core Forum
1 answer
1.1K+ views

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.

 

 

Aleksandar
Telerik team
 answered on 15 Jun 2021
2 answers
219 views
How do I set the default zoom option?  I need it to "Fit to screen" when it loads
Joel
Top achievements
Rank 2
Bronze
Iron
Iron
 answered on 14 Jun 2021
1 answer
568 views

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

Petar
Telerik team
 answered on 14 Jun 2021
1 answer
720 views

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

Aleksandar
Telerik team
 answered on 14 Jun 2021
1 answer
3.2K+ views
Hello - I have trouble getting an inline dropdownlist to display in my grid. I believe I have followed the examples out there, but I must be missing something. Any help would be a appreciated. When I run the app this is what I "undefined" in the cells that use a dropdownlist editor and when I click on the cell to edit a text box opens up instead of a drop down list. 

Here is my setup. (non relevant elements removed).

                            @(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" })
)








Stoyan
Telerik team
 answered on 10 Jun 2021
0 answers
88 views

I have attached the error picture, we can't find the kendo control for the following. I would appreciate if you can advice. 

 

Thanks

Miro
Top achievements
Rank 1
Iron
Iron
 asked on 10 Jun 2021
0 answers
294 views

Hi,

Any example on  Form Conditional Validation ?

Thanks

Xavier
Top achievements
Rank 1
 asked on 09 Jun 2021
1 answer
261 views

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 />

        <div class="form-group form-inline row pull-right">
            <div class="col-sm-10 ">
                <button value="Save" style="margin:0 5px;" class="btn btn-navy">Save</button>
            </div>
        </div>

</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

Aleksandar
Telerik team
 updated answer on 09 Jun 2021
0 answers
299 views

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");

for (var i = 0; i < rows.length; i++) {
            var slot = scheduler.slotByElement(rows[i]);

            var slotTime = kendo.toString(slot.startDate, "d");
            var targetTime = kendo.toString(time, "d");

            if (targetTime === slotTime) {
                contentDiv.scrollLeft($(rows[i]).offset().left + contentDiv.scrollLeft() - contentDiv.position().left);
            }
        };
Stefan
Top achievements
Rank 1
Iron
 asked on 08 Jun 2021
1 answer
551 views

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")
.Columns(columns =>
{
columns.Template("<button type=\"button\" class=\"btn btn-grid\" data-id=\"#=Id#\"><i class=\"fas fa-fw fa-pencil-alt\"></i></button>");
columns.Bound(c => c.TagId).Filterable(f => f.Cell(cell => cell.ShowOperators(false).SuggestionOperator(FilterType.Contains).MinLength(2))).ClientTemplate($"<a class=\"grid-link\" href=\"{Url.Action("Details", "Tags")}/#=Id#\">#:{nameof(TagGridViewModel.TagId)}#</a>");
columns.Bound(c => c.AddDate).Filterable(false);
columns.Bound(c => c.UpdateDate).Title("Updated").Filterable(false).ClientTemplate($"#={nameof(TagGridViewModel.UpdateDateDisplay)}#");
})
.ColumnMenu(true)
.DataSource(dataSource => dataSource.Ajax().PageSize(25)
.ServerOperation(false)
.Read(read => read.Action("DetailsTagsGridRead", "Clients", new { clientId = Model.Location.ClientId, locationId = Model.Location.Id }))
.Events(events => events.Error("gridError"))
)
)
Aleksandar
Telerik team
 updated answer on 08 Jun 2021
Narrow your results
Selected tags
Tags
+? more
Top users last month
Anislav
Top achievements
Rank 6
Silver
Bronze
Bronze
Jianxian
Top achievements
Rank 1
Iron
Marco
Top achievements
Rank 3
Iron
Iron
Iron
Jim
Top achievements
Rank 2
Iron
Iron
Nurik
Top achievements
Rank 2
Iron
Iron
Want to show your ninja superpower to fellow developers?
Top users last month
Anislav
Top achievements
Rank 6
Silver
Bronze
Bronze
Jianxian
Top achievements
Rank 1
Iron
Marco
Top achievements
Rank 3
Iron
Iron
Iron
Jim
Top achievements
Rank 2
Iron
Iron
Nurik
Top achievements
Rank 2
Iron
Iron
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?