Telerik Forums
UI for ASP.NET MVC Forum
2 answers
1.5K+ views

Hello,

 

My grid has a column called "vessel_idx" that shows all the IDs relating to each vessel(obviously), each row also has a button that calls my own Javascript function.  I need to pass the value of the vessel_idx into this function, does anyone know how I can accomplish this?

Here is my grid with the required column and button as described above.

@(Html.Kendo().Grid<MyProject.ViewModels.SpotGridViewModel>()
     .Name("Grid")
     .Deferred()
     .Columns(columns =>
     {
         columns.Bound(c => c.vessel_idx);
         columns.Template(@<text></text>)
             .ClientTemplate("<ul class='grid-options'>" +
                               "<input type='button' id='mybtn' value='Prompt' />"+   
                             "</ul>").Width(200);
     })
)

Here is my javascript code that I need to pass the vessel_idx into

$("#Grid").on("click", "#mybtn", function (e) {
     
    var id = vessel_idx;
 
            $.ajax({
                url: "@Url.Action("buttonPrompt", "Home")",
                type: "GET",
            data: { id: id },
            dataType: 'json',
            cache: false,
            error: function (XMLHttpRequest, textStatus, errorThrown) {
                alert("Error" + errorThrown);
                console.log(errorThrown);
            },
            success: function (data) {
                console.log("yay");
            }
            });
    });

Many thanks

Allan
Top achievements
Rank 1
 answered on 17 May 2016
1 answer
412 views

I have two TreeViews which have drag and drop enabled. I am trying to limit the depth when someone tries to drag a branch to the other tree.

Example:

TreeA (root)

  TreeA.1.0 (child; level 1)

    TreeA.1.1 (child; level 2)

 

TreeB (root)

  TreeB.1.0 (child; level 1)

    TreeB.1.1 (child; level 2)

 

Given the above two trees and I desire to only have nodes up to 3 levels deep (ie. no deeper than child level 2) If a user drags "TreeB.1.0" under "TreeA.1.1" then TreeA will have children 4 levels deep.

I see events Drag and Drop which allow me to validate the destination tree to prevent this. I tried to implement custom data elements as HtmlAttributes in my OnDemand TreeViewItemModel DataSource in server-side code:

TreeViewItemModel node = new TreeViewItemModel();

...

node.HtmlAttributes.Add(new KeyValuePair<string, string>("data_level", level.ToString()));

 

This

 

Helen
Telerik team
 answered on 16 May 2016
1 answer
114 views

I'm looking to get the MultiSelect list to display something like "1 out of 15"  But when using the "maxTotal" found here tagTemplate, I get "maxTotal is not defined"

 

1.<script type="text/x-kendo-template" id="selectedRoleTemplate">
2.    #:data.length# out of #:maxTotal#
3.</script>
4.<script type="text/javascript">
5.    var selectedRoleTemplate = kendo.template($("#selectedRoleTemplate").html(), { useWithBlock: false });
6.</script>

 

01.@(Html.Kendo().MultiSelectFor(m => m)
02.      .AutoBind(true)
03.      .AutoClose(false)
04.      .DataValueField("RoleId")
05.      .DataTextField("RoleName")
06.      .TagMode(TagMode.Single)
07.      .TagTemplate("#=selectedRoleTemplate()#")
08.      .DataSource(dataSource =>
09.      {
10.          dataSource.Read(read => read.Action("UserRoleList", "Lov", new { userId = -9, isActiveOnly = false}))
11.              .ServerFiltering(false);
12.      }))

 

 

 

 

Hristo Valyavicharski
Telerik team
 answered on 14 May 2016
2 answers
225 views

Hi,

Is there a way to access scheduler resources inside the Event Template?

For instance:

Course Resource - List of courses with CourseID and CourseTitle.

Event Template - 

.EventTemplate(
        "<div style=color:#:setTextColor(data)#>" +
        "<h4>Course: #= CourseTitle # </h4>" +     
        "<h5>Class: #= title # </h5>" +
        "</div>"
    )

"<h4>Course: #= CourseTitle # </h4>"  would be returned by the foreign key ID from the viewModel record to the Course Resource primary key.

Chris
Top achievements
Rank 1
 answered on 13 May 2016
3 answers
453 views

I'm currently working on a .NET MVC app with one area, Inside, and then a single controller on the root area, Home.  What I'm noticing is something somewhat similar to what is discussed in this post; I have a Home controller in both my root and Inside areas, and when the menu attempts to render the links to the root actions while at an Inside url, such as /Inside/Account/Login, the links to any Home actions which are present in both the Inside and root areas are not rendered.  I noticed that if I take away the [Authorize] attribute on my Inside Home controller, the actions do render properly i.e. /Home/Index is rendered.  However, I want to make sure that my inside controllers are decorated with the Authorize attribute.

 

For example, with the following code snippet

// Root Home Controller
public class HomeController : Controller {
    // Doesn't render
    public ActionResult Index() { return View(); }
    // Doesn't render
    public ActionResult Contact() { return View(); }
    // Renders
    public ActionResult About() { return View(); }
}
 
// Inside Home controller
[Authorize]
public class Home : Controller {
    public ActionResult Index() { return View(); }
    public ActionResult About() { return View(); }
}
 
// /Inside/Account/Login View snippet
@(Html.Kendo().Menu().Name("MainMenu").Items(children =>
{
    items.Add().Text("Root Home").Action("Index", "Home", new { area = "" });
    items.Add().Text("Root Contact").Action("Contact", "Home", new { area = "" });
    items.Add().Text("Root About").Action("About", "Home", new { area = "" });
    items.Add().Text("Login").Action("Account", "Login", new { area = "Inside" });
}))

if I go to /Home/Index or /Home/Contact I get a menu the menu you would expect (as seen in Correct.png), whereas if I go to /Inside/Account/Login, I get a menu with only the About and Login buttons (as seen in Incorrect.png).  My guess is that the Telerik Menu rendering function is attempting to security trim [Authorize] decorated action links with identical names disregarding the area in which the action was specified.

I'm wondering if there is a better way around this bug than to decorate my Inside.Home.Index/Contact actions with [AllowAnonymous] and using a redirect to the root area if a user is not authenticated.

 

 

T. Tsonev
Telerik team
 answered on 13 May 2016
11 answers
650 views

Hi,

 

I am using MVC data annotation in the class (sample below) everything works ok but I am facing two issues
1. The class doesn't turn to "k-invalid" after submit click for the kendo comboboxm, therefore, I cannot set the css as red
2. The conbobox tooltip is behind another control, tooltip doesn't expand it like textbox

[Required(ErrorMessage = "Car Owner is required.")]
[Range(1, int.MaxValue, ErrorMessage = "This is invalid.")]
public int? CarOwnerId { get; set; }

Thank you!

Ianko
Telerik team
 answered on 13 May 2016
3 answers
286 views

I have created an MVC ASP.NET 5 Web API project  which uses DNX 4.5.1

I am trying to create a gantt chart in my .cshtml view file via the following code:

<div id="gantt">
    @(Html.Kendo().Gantt<GanttData, DependencyViewModel>()
                .Name("Gantt")
                .DataSource(ds => ds
                    .Read(read => read
                        .Action("Tasks", "Home")
                    )
                    .Model(m =>
                    {
                        m.Id(f => f.TaskID);
                        m.ParentId(f => f.ParentID);
                        m.OrderId(f => f.OrderId);
                        m.Field(f => f.Expanded).DefaultValue(true);
                    })
                )
                .DependenciesDataSource(ds => ds
                    .Read(read => read
                        .Action("Dependencies", "Home")
                    )
                    .Model(m =>
                    {
                        m.Id(f => f.DependencyID);
                        m.PredecessorId(f => f.PredecessorID);
                        m.SuccessorId(f => f.SuccessorID);
                        m.Type(f => f.Type);
                    })
                ).Resizable(true)
    )
</div>

The error comes from IHtmlHelper "not containing a definition" for Kendo even though Kendo.Mvc is in my project's references. 

This identical code successfully generates a gantt chart in a ASP.NET 4.5.1 MVC 4 project, however.

Is there a way to create a Gantt chart in an ASP.NET 5 MVC application?

 

Thanks

 

Bozhidar
Telerik team
 answered on 13 May 2016
4 answers
94 views
Hello, I am trying to generate a header with the grid title at the top of my grid along with a close "x" button in the top right corner. Is this possible? 
Scott
Top achievements
Rank 1
 answered on 12 May 2016
5 answers
973 views

Am I missing something?  I cannot get this control to work at all. I first tried making a simple switch:

@Html.Kendo().MobileSwitch().Name("​MySwitch").Checked(true).OnLabel("Label On").OffLabel("Lable Off")

All I get is a check box. So then I tried the  sample on the demo site, and that also did not work.

 I am using MVC4 on VS 2015 and I used the "Configure Project" wizard to add "Asp.Net MVC" to the project.

 

Chris
Top achievements
Rank 1
 answered on 12 May 2016
1 answer
766 views

Hello,

I need collapse the rest of de expanded rows when the user expand a new row and scroll this row to the top position of the grid. I have tried with the next code unsuccessfully.

 

Html.Kendo().Grid<ProductorViewModel>().Name("productors")

    ......

.Events(e => e
            .DataBound("onDataBound")
            .DetailInit("onDetailInit")
            .DetailExpand("onExpand")
        )

.....

 

<script type="text/javascript">

        function onExpand(e) {
            var grid = $("#productors").data("kendoGrid");
            var dataView = this.dataSource.view();
            var model = e.data;
            for (var i = 0; i < dataView.length; i++) {
                var uid = dataView[i].uid;
                if (uid != model.uid) {
                    var tr = $("tr[data-uid=" + uid + "]");
                    grid.collapseRow(tr);
                }
            }
        }

</script>

 

Can you help me with some example?

Thanks!

Maria Ilieva
Telerik team
 answered on 12 May 2016
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?