Telerik Forums
UI for ASP.NET MVC Forum
5 answers
181 views

We have large trees that contains multiple levels like:

Root

  Item 1

    Item1-A

    Item1-B

  Item 2

    Item2-A

    Item2-B

The children are loaded dynamically using the onselect event for the item, so using the above example, Item1-A has children, but they have not yet been loaded when the tree is created. Item1-A will display with the expand arrow.

Clicking on the Item1-A (text in the tree), expands to show the children, however when clicking on the expand arrow next to Item1-A, the expand arrow disappears, the Item1-A text is selected, but the onselect event is not fired so the children are not displayed.

We don't want to load the next level children (which does resolve the problem) due to performance requirements.

Is there any way we can either

a) Disable the expand arrow action (i.e. we are happy if the user consistently just clicks on the item text and the expand arrow is for display only)

or

b) Fire a select event when clicking on the expand arrow so that it performs the same action as clicking on the text in the tree.

Thanks.

Ivan Danchev
Telerik team
 answered on 04 Aug 2016
1 answer
225 views
Any ideas on how to either specify a field is editable if only a edit, and not a new record being added to the grid.  Either inline or popup.  What 'm trying to do is have a field required to be entered on new, but not editable afterwards.

Ideally, a way in the future to specify which editortemplate view to use on new or edit would be extremely helpful. Since it looks like I'll have inline editing, but can't use the grid create, instead it will just be a button with a custom window and form.
Eyup
Telerik team
 answered on 04 Aug 2016
1 answer
136 views

Hi

When I'm trying to send the model with information in it to the edit view, I get a System.OverflowException : Value was either too large or too small for an Int32

in the StackTrace I get: 

   en System.Convert.ToInt32(Double value)
   en System.Double.System.IConvertible.ToInt32(IFormatProvider provider)
   en System.Convert.ChangeType(Object value, Type conversionType, IFormatProvider provider)
   en System.Convert.ChangeType(Object value, Type conversionType)
   en Kendo.Mvc.UI.Fluent.WidgetFactory`1.GetRangeValidationParameter[TValue](IEnumerable`1 validators, String parameter)
   en Kendo.Mvc.UI.Fluent.WidgetFactory`1.NumericTextBoxFor[TValue](Expression`1 expression)
   en ASP._Page_Views_Grupo_Edit_cshtml.Execute() en C:\Users\Pablo.Contreras\Documents\Visual Studio 2015\Projects\Administrativo\Grupos\NaveganteGruposBackEnd\NaveganteGruposBackEnd\Views\Grupo\Edit.cshtml:lĂ­nea 232
   en System.Web.WebPages.WebPageBase.ExecutePageHierarchy()
   en System.Web.Mvc.WebViewPage.ExecutePageHierarchy()
   en System.Web.WebPages.StartPage.RunPage()
   en System.Web.WebPages.StartPage.ExecutePageHierarchy()
   en System.Web.WebPages.WebPageBase.ExecutePageHierarchy(WebPageContext pageContext, TextWriter writer, WebPageRenderingBase startPage)
   en System.Web.Mvc.RazorView.RenderView(ViewContext viewContext, TextWriter writer, Object instance)
   en System.Web.Mvc.BuildManagerCompiledView.Render(ViewContext viewContext, TextWriter writer)
   en System.Web.Mvc.ViewResultBase.ExecuteResult(ControllerContext context)
   en System.Web.Mvc.ControllerActionInvoker.InvokeActionResult(ControllerContext controllerContext, ActionResult actionResult)
   en System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilterRecursive(IList`1 filters, Int32 filterIndex, ResultExecutingContext preContext, ControllerContext controllerContext, ActionResult actionResult)
   en System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilterRecursive(IList`1 filters, Int32 filterIndex, ResultExecutingContext preContext, ControllerContext controllerContext, ActionResult actionResult)

In my model the field is int, and I allready try change it to INT32 with no results.

Maria Ilieva
Telerik team
 answered on 04 Aug 2016
1 answer
175 views

 

Hi, I'm trying to UPDATE and DELETE some rows from the spreadheet control, with datasource binding.

I've a custom defined button with save function:

 $("#savebuttons").on('click', '#Save', function () {
        if (!$(this).hasClass("k-state-disabled")) {
            getDataSource().sync();
        }

    });

The datasource looks like this:

           .DataSource<Siergy.BackOffice.Models.Management.ProjectElementViewModel>
            (ds => ds 
            .Ajax()
            .Batch(true)
            .Read(read => read.Action("ProjectElementsSpreadsheet_Read", "ProjectsManagement"))
            .Update(update => update.Action("ProjectElementsSpreadsheet_Update", "ProjectsManagement"))
            .Create(create => create.Action("ProjectElementsSpreadsheet_Create", "ProjectsManagement"))
            .Destroy(destroy => destroy.Action("ProjectElementsSpreadsheet_Destroy", "ProjectsManagement"))
            .Events(e => e.Change("onChange"))
            .Model(m =>
            {
                m.Id(p => p.IdElement);
            })
            );

All is working well to update rows, but destroy action never fires in the server, how can I get this working?

From DataSource documentation:

sync
Saves any data item changes.
The sync method will request the remote service if:
the transport.create option is set and the data source contains new data items
the transport.destroy option is set and data items have been removed from the data source
the transport.update option is set and the data source contains updated data items

Is it valid for spreadsheet datasources too?

Best Regards

 

 

 

Bozhidar
Telerik team
 answered on 04 Aug 2016
1 answer
233 views

I don't know  if it is only possible through async method. 

I am not using any form.

Right now I am passing other data  

            var data = {
                Action: $("#Action").val(),
                Follow: $("#Follow").val(),
                EmailAddress: $.trim($("#emailaddress").val()),

                ...

};

$.ajax({
                url: webManager.resolveUrl("~/maint/Submit"),
                type: "POST",
                data: data
                success: function (response) {

Plamen
Telerik team
 answered on 04 Aug 2016
9 answers
447 views

Hi, 

we're evaluating the Spreadsheet component for our solution and while we love most of it, we are having a blocking issue in the hide/unhide feature

In our case, we have a kind of "control panel with button" around the spreadsheet, which allows the user to hide/unhide some blocks of (potentially non contiguous rows or columns in one click). E.g. let's say you click a button and you hide rows 1, 7, 15, and 50 and columns E, F and Z.

The Spreadsheet client side API exposes single col/row hide methods and the overall time is very high 

(e.g. 3 seconds to hide like some 40-60 rows)

Do you think there is or will be a workaround/fix on this?

thanks in advance

Sebastian

Peter Milchev
Telerik team
 answered on 02 Aug 2016
3 answers
65 views

Currently we have complicated model which has objects.

 

Model:

class Person {
string name{get; set;}
ContactInfo contactInfo{get; set;}
}

class ContactInfo  {
string phoneNumber {get; set;}
string address{get; set;}
}

 

View:

 @(Html.Kendo().Grid(Model.Person).Name("testGrid")
.Columns(columns =>
{
 columns.Bound(x => x.name);
columns.Bound(x => x.ContactInfo.phoneNumber);
....

 

 

in JS Console, with "$("#testGrid").data("kendoGrid").dataSource.data()" I see everything is good at the first load.

 

However, when I edit "phonenumber", the datasource looks like this:

o
-> Person 
     ->Name:"xxx"
     ->ContactInfo
            ->phoneNumber :"xxxx"
             ->address : "xxxxxx"
     ->ContactInfo.phoneNumber: ""

 

we used Jquery.ajax to send the data in js so it has duplicated "ContactInfo.phoneNumber" after stringify, then it never reaches the MVC controller.

 

Questions:
1. How to solve this issue?
2. How to avoid this additional "ContactInfo.phoneNumber" been created?

Thanks!

Vasil
Telerik team
 answered on 02 Aug 2016
1 answer
186 views

How do I filter when I have the option for multiple selections using the Separator property

I have a Read action set up which passes the search data through to my controller and I have a client side script set up for the additional data

When a user has selected one user and then starts typing for the second user this pass "Name One; Nam" to the controller.

$("#distributionList").val() is passing the whole string and not the new search for the second name. How can I pass just the text that is being typed in and not the previously selected users.

 

1.function onDistributionListAdditionalData(obj) {
2.                return {
3.                    text: $("#distributionList").val()
4.                };
5.            }

Peter Milchev
Telerik team
 answered on 02 Aug 2016
1 answer
377 views

So I have a large list of Id's that I want to create a filter for and return. I was just adding a FilterDescriptor for each one but I found that once it got over a certain amount I get a stack overflow error. So I am trying to use the IsContainedIn operator.

 

 

private static void AddSiteIdFilterToRequest(DataSourceRequest request, IList<Guid> siteGuidList, string columnName)
{
if (siteGuidList == null || !siteGuidList.Any()) return;

            var filterCollection = new CompositeFilterDescriptor { LogicalOperator = FilterCompositionLogicalOperator.Or };
            filterCollection.FilterDescriptors.Add(new FilterDescriptor { Member = columnName, MemberType = typeof(Guid), Operator = FilterOperator.IsContainedIn, Value = siteGuidList });
            request.Filters.Add(filterCollection);
        }

Maria Ilieva
Telerik team
 answered on 02 Aug 2016
3 answers
304 views

I have implemented a custom tooltip for the scheduler.  works great.

BUT - on mouse over the "title" popup is appearing along with the tooltip.

Question - How do I disable the "title" popup.

I tried using
    $("#scheduler").kendoCalendar({
        //....
        navigate: function (e) {
            this.element.find("tbody").find("a").removeAttr("title");
        }
    });
and it messed up the whole formatting of the calendar

Plamen
Telerik team
 answered on 02 Aug 2016
Narrow your results
Selected tags
Tags
+? more
Top users last month
Rob
Top achievements
Rank 3
Iron
Iron
Iron
Atul
Top achievements
Rank 1
Iron
Iron
Alexander
Top achievements
Rank 1
Veteran
Iron
Serkan
Top achievements
Rank 1
Iron
Shawn
Top achievements
Rank 1
Iron
Iron
Want to show your ninja superpower to fellow developers?
Top users last month
Rob
Top achievements
Rank 3
Iron
Iron
Iron
Atul
Top achievements
Rank 1
Iron
Iron
Alexander
Top achievements
Rank 1
Veteran
Iron
Serkan
Top achievements
Rank 1
Iron
Shawn
Top achievements
Rank 1
Iron
Iron
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?