Telerik Forums
UI for ASP.NET Core Forum
11 answers
750 views

Hi there.

is there any bridge between SpreadSheet and SpreadProcessing or how can i load XLSX binary from database to that SpreadSheet widget  ??

i have checked this forum but i get gzip verson error.

 

Thanx in advance

Ahmed

Veselin Tsvetanov
Telerik team
 answered on 12 Nov 2020
5 answers
970 views

Hi,

I try to use the tag helpers with the upload control, but I'm not able to convert all the code du to the lack of documentation.

How to convert this code to use the tag helpers.

                        @(Html.Kendo().Upload()
                                                    .Name("files")
                                                    .HtmlAttributes(new { aria_label = "files" })
                                                    .Validation(validation => validation.AllowedExtensions(new string[] { ".pdf", ".jpg", ".png" }))
                                                    .Validation(validation => validation.MaxFileSize(10485760))
                                                    .Files(files =>
                                                    {
                                                        if (Model != null && Model.AttachedFiles != null)
                                                        {
                                                            foreach (var f in Model.AttachedFiles)
                                                                files.Add().Name(f.fileName).Extension(System.IO.Path.GetExtension(f.fileName)).Size(f.length);
                                                        }
                                                    })
                                                    .Async(async => async
                                                        .Save("SaveFilesAsync", "Controller")
                                                        .Remove("RemoveFiles", "Controller"))
                                                    .Events(events => events
                                                    .Select("onSelect"))
                        )

 

 

 

Heiko
Top achievements
Rank 1
Iron
Veteran
 answered on 12 Nov 2020
1 answer
224 views

Hello,

I have a grid and I display tooltips on some of its columns. It works OK. I also have a DropdownList. After DropdownList change I read data for the grid again. The grid then shows new data, but the tooltips are never visible.

This is the function for DropDownList change event:

function ViewChanged() {
  $('#AccountGrid').data('kendoGrid').setOptions(initialAccountGridOptions);
  $('#AccountGrid').data('kendoGrid').dataSource.filter({});
  $('#AccountGrid').data('kendoGrid').dataSource.read();
}

I figured out that the tooltips are displaying when I delete the first line with setOptions function. But I need the setOptions function.

Is there a way how to use this function and still see the tooltips?

Thanks for answers.

Aleksandar
Telerik team
 answered on 12 Nov 2020
1 answer
1.4K+ views
I need to suppress/hide the submit button rendered along with the rest of the form when using Html.Kendo().Form(), but cannot see a property that will allow me to do so. My reasoning for this is I have a requirement to render a Tabstrip that will feature multiple tabs with different inputs that will all be submitted together. I want to hide the submit button from each of these Forms, and simply create my own submit button underneath that will call a JS function that will generate a form from all the various inputs and submit that as a single post. I know that I can simply collapse the buttons using a custom style, but I'd rather do it programmatically via the Kendo call instead.
Dimitar
Telerik team
 answered on 12 Nov 2020
1 answer
468 views

I've searched in the documentation but haven't been able to solve this problem so far:

I want to use the drawer component as a global navigation menu. This means that the drawer items should be clickable and redirect to different views within the solution and the view should be rendered inside the content section. 

in regards to the first problem, which is that the items should be clickable i have my template setup like this:

    @(Html.Kendo().Drawer()
    .Name("drawer")
    .Template(@"
    <ul>
        <li data-role='drawer-item'><a asp-controller='Home' asp-action='Index'>First Item</a></li>
        <li data-role='drawer-separator'></li>
        <li data-role='drawer-item'>Second Item</li>
    </ul>")
    .Mode("push")    
    )

but using the asp helpers is not working. 

and regarding showing the view inside the .content, i don't know how to make that work.

Any help will be appreciated.

 

 

Anton Mironov
Telerik team
 answered on 10 Nov 2020
2 answers
563 views

I have a fairly simple Kendo Grid in a Razor page that posts to its Model via Ajax

All the parameter on the grid are set correctly (Forgery Token, etc). Also set the right camel case in startup.cs:

                .AddNewtonsoftJson(options => options.SerializerSettings.ContractResolver = new DefaultContractResolver())
                .AddJsonOptions(options => options.JsonSerializerOptions.PropertyNamingPolicy = null); 

The post successfully hits the OnPostUpdate function but the class only has empty members:

If I access the Form via the Request object (not the "request" object), I can see all members correctly posted but the "doesnotwork" instance only contains empty fields as if the deserialization did not work correctly.

        public JsonResult OnPostUpdate([DataSourceRequest] DataSourceRequest request, hrFeedback doesnotwork)
        {
            hrFeedback tFeedback=null;
            try
            {
                var t=CU.CGuid(Request.Form["FeedID"]);
                tFeedback = _context.tblFeedback.Where(s => s.FeedID == t).FirstOrDefault();
                if (tFeedback != null)
                {
                    tFeedback.Feedback = Request.Form["Feedback"];// feedback.Feedback;
                    tFeedback.FollowedUp = Request.Form["FollowedUp"]; // feedback.FollowedUp;
                    tFeedback.Subject = Request.Form["Subject"]; // feedback.Subject;
                    tFeedback.Unsubscribe = CU.CDate(Request.Form["Unsubscribe"]).DateTime; // feedback.Unsubscribe;
                    _context.tblFeedback.Update(tFeedback);
                    _context.SaveChanges();
                }
                else
                    return new JsonResult(Content("Feedback ID not found")); //Is there a better way to tell the grid that the update failed?
            }
            catch (Exception e)
            {

            }
            return new JsonResult(new[] { tFeedback }.ToDataSourceResult(request, ModelState));
        }

 

I also assume that my OnPostRead does not work right as I can see the filter/sort coming in via Request.Form["filter"] but the ToDataSourceResult seems not to take these values as the result on the page never shows filter or search results (always all rows are displayed)

        public JsonResult OnPostRead([DataSourceRequest] DataSourceRequest request)
        {
            var t = new JsonResult(_context.tblFeedback.ToDataSourceResult(request));
            return t;
        }

 

Can anybody tell me what I am forgetting?

I have another page that works just fine using the OnPostUpdate and its class value but I cannot see any difference between the two

 

Thanks

Nikolay
Telerik team
 answered on 10 Nov 2020
3 answers
148 views
I have been trying to find a way to only show one row detail expanded at a time.  I found some code in Kendo UI for jquery but it does not see to work.  Does anyone have any idea what I am doing wrong?
var lastContactId;
    function onShowDetail(e) {
        lastContactId = e.sender.dataItem(e.masterRow).ContactId;
 
        // collapse all but current
        var currentRow = e.masterRow;
        var grid = $('#grid_client_contact').data('kendoGrid');
        var masterRows = grid.table.find('tr.k-master-row');
        console.log(masterRows);
        var mappedRows = $.map(masterRows, function (row, rowIndex) {
 
            if ($(row).find("a.k-minus").length > 0 && !$(row).is(currentRow)) {
                console.log(row);
                return $(row);
            }
            return null;
        });
        console.log(mappedRows.length);
        for (var i = 0; i < mappedRows.length; i++) {
            grid.collapseRow(mappedRows[i]);
            console.log(i);
        }
    }
Carlos
Top achievements
Rank 1
 answered on 10 Nov 2020
1 answer
218 views

Hello,

I am developing a wizard very similar to the one you provide in this demo: https://demos.telerik.com/aspnet-core/wizard/index . I wonder if you could help me to find out how to send the model back to the controller after clicking on done. Do you have to send the data with ajax or can you send the model back to the controller? Sorry if this question is too obvious, I am just starting.

Kind Regards,

Pablo

Marconi
Top achievements
Rank 1
Veteran
 answered on 08 Nov 2020
1 answer
343 views

Hello,

I am developing a ASP.NET core Telerik Wizard prototype, each step is a form. The issue is that I have a submit button for the form and next button for the wizard so the user has to click on submit and then on next to continue. I would like to submit the form when the user clicks on the next button. Is it possible? If I cannot submit the form with the next button I will have to bin the prototype. 

Kind Regards.

Marconi
Top achievements
Rank 1
Veteran
 answered on 08 Nov 2020
1 answer
456 views

Good morning, 

I'm new to Telerik and doing a POC evaluation using the Aspnet Core Grid control to see if it will work for our situation.  I've worked through most issues along the way, but I'm unable to get aggregates to work on the grid so far and I'm hoping it's something simple I'm missing and not a limitation of aggregates within a nested grid hierarchy. 

Here is the scenario:

I am trying to do a simple count of items in the nested grid and place them using the .ClientGroupHeaderColumnTemplate.  I'm also adding the .Aggregates to the DataSource call.  When I do so, I am unable to access the grid and get the following javascript error:  "Uncaught ReferenceError: count is not defined"

I believe I have followed all the demos/examples/threads that I've found online correctly, but the difference is that this grid is nested within 2 other grids. I have also tried several of the other ClientTemplates (footer, header, etc...) with the same result.  Thanks in advance for any help you can give and let me know if you need additional information.

Here is the code I'm calling for this grid:

<script id="agents" type="text/kendo-tmpl">
    @(Html.Kendo().Grid<TLCAgentSchedulerT.Models.AgentViewModel>
    ()
    .Name("agent_#=SubPodId#")
    .Columns(columns =>
    {

        columns.Bound(o => o.AgentName).Width(50);
        columns.Bound(o => o.Block1).Width(4)
            .ClientGroupHeaderColumnTemplate("Sum: #= count#")
            .ClientTemplate(@"<div class='agentStatus' style='background-image: url(" + @Url.Content("~/images/\\#:data.Block1\\#.png") + ");'></div>").ClientHeaderTemplate("<span data-toggle='tooltip' data-placement='top' title='6:00 AM EST'>B1</span>");
        columns.Bound(o => o.Block2).Width(4).ClientTemplate(@"<div class='agentStatus' style='background-image: url(" + @Url.Content("~/images/\\#:data.Block2\\#.png") + ");'></div>").ClientHeaderTemplate("<span data-toggle='tooltip' data-placement='top' title='6:00 AM EST'>B2</span>");
        columns.Bound(o => o.Block3).Width(4).ClientTemplate(@"<div class='agentStatus' style='background-image: url(" + @Url.Content("~/images/\\#:data.Block3\\#.png") + ");'></div>").ClientHeaderTemplate("<span data-toggle='tooltip' data-placement='top' title='6:00 AM EST'>B3</span>");
        columns.Bound(o => o.Block4).Width(4).ClientTemplate(@"<div class='agentStatus' style='background-image: url(" + @Url.Content("~/images/\\#:data.Block4\\#.png") + ");'></div>").ClientHeaderTemplate("<span data-toggle='tooltip' data-placement='top' title='6:00 AM EST'>B4</span>");
        //Add Additional Blocks

        columns.Command(command =>
        {
            command.Edit().Text("Edit Agent");
        }).Width(25);
    })
    .DataSource(dataSource => dataSource
        .Ajax()
        //.Read(read => read.Action("EditAgent", "Grid"))
        .Update(update => update.Action("EditAgent", "Grid"))
        .Events(events => events.Error("error_handler"))
        .Aggregates(aggregates =>
        {
            aggregates.Add(p => p.Block1).Count();
        })
        .Group(groups => groups.Add(p=> p.Block1))
        .PageSize(5)
        .Read(read => read.Action("GetAgents", "Grid", new { subPodId = "#=SubPodId#" }))
        )
        //.ToolBar(toolbar => toolbar.Create()) //Adds 'Add New Record' button to toolbar
        .Editable(editable => editable.Mode(GridEditMode.PopUp))
        .Scrollable()
        //.Sortable()
        .ToClientTemplate()
    )
</script>

 

 

 

 

Eyup
Telerik team
 answered on 06 Nov 2020
Narrow your results
Selected tags
Tags
+? more
Top users last month
Jay
Top achievements
Rank 3
Bronze
Iron
Iron
yw
Top achievements
Rank 2
Iron
Iron
Stefan
Top achievements
Rank 2
Iron
Iron
Iron
Kao Hung
Top achievements
Rank 1
Iron
Bohdan
Top achievements
Rank 2
Iron
Iron
Iron
Want to show your ninja superpower to fellow developers?
Top users last month
Jay
Top achievements
Rank 3
Bronze
Iron
Iron
yw
Top achievements
Rank 2
Iron
Iron
Stefan
Top achievements
Rank 2
Iron
Iron
Iron
Kao Hung
Top achievements
Rank 1
Iron
Bohdan
Top achievements
Rank 2
Iron
Iron
Iron
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?