Adding custom attributes to nodes from client

2 posts, 0 answers
  1. Luca
    Luca avatar
    2 posts
    Member since:
    Mar 2014

    Posted 24 Apr 2015 Link to this post

    Hi Everyone,

    I'm trying to add custom attributes to treeview nodes. I'm querying a web api 2 service trough a $.ajax call. On success event I firstly create an observable containing an observableHierarchy and then I bind it with the kendo tree view.

                            $.ajax({
                                url: serviceBaseUrl + "/Arguments/GetCategoryArgumentMap",
                                success: function(data) {
                                    //Gestione espansione di tutti i nodi
                                    //$(data).each(function() {
                                    //    this["expanded"] = true;
                                    //});
                                    var checkedNodesNameClient = [];
                                    argumentsDataSource = kendo.observable({
                                        hItem: kendo.observableHierarchy({
                                            data: data,
                                            schema: {
                                                model: {
                                                    children: "Associateds",
                                                    id: "ArgumentId",
                                                    expanded: true
                                                }
                                            }
                                        })
                                    });
                                    $("#treeview").kendoTreeView({
                                        checkboxes: {
                                            checkChildren: true,
                                            template: function(data) { console.log(data.item.Associateds); return "<input type='checkbox' data-mainArgument='" + data.item.Associateds.mainArgument + "' />"; }
                                        },
                                        dataTextField: "ArgumentCode",
                                        check: onTreeViewItemCheck,
                                        select: onTreeviewItemSelection,
                                        dataSource: argumentsDataSource.hItem,
                                        dataBound : function () {
                                            $("#treeview > ul > li > div span.k-checkbox").hide();
                                            $("#treeview INPUT[type='checkbox']").addClass("km-widget");
                                        }
                                    });
                                    checkTreeViewItems(viewModel.result.AssociatedArguments, $("#treeview").data("kendoTreeView"), checkedNodesNameClient)
                                    $("#argumentsFilter").bind("keyup", function(){
                                        $("#treeview > UL > LI").hide(); 
                                        $("#treeview > UL > LI:contains('" + $(this).val() + "')").show();
                                    });
                                    $("#selectedTVItems").text(checkedNodesNameClient.join(", "));
                                }
                            });

    How can I achive my target?

  2. Daniel
    Admin
    Daniel avatar
    2117 posts

    Posted 28 Apr 2015 Link to this post

    Hello,

    The treeview does not currently support setting attributes from the data. Could you clarify why this is needed in your case?


    Regards,
    Daniel
    Telerik
     
    Join us on our journey to create the world's most complete HTML 5 UI Framework - download Kendo UI now!
     
  3. Kendo UI is VS 2017 Ready
Back to Top