protected async System.Threading.Tasks.Task Tree0Expand(TreeExpandEventArgs args)
        {
            var o = args.Value as Order;

            Console.WriteLine("PCOUNT:" + o.OrderDetails.Count());
            Console.WriteLine("PNAME:" + o.OrderDetails.First().Product.ProductName);
        }
示例#2
0
        internal async Task ExpandItem(RadzenTreeItem item)
        {
            var args = new TreeExpandEventArgs()
            {
                Text     = item?.Text,
                Value    = item?.Value,
                Children = new TreeItemSettings()
            };

            await Expand.InvokeAsync(args);

            if (args.Children.Data != null)
            {
                var childContent = new RenderFragment(builder =>
                {
                    Func <object, string> text = null;
                    var children = args.Children;

                    foreach (var data in children.Data)
                    {
                        if (text == null)
                        {
                            text = children.Text ?? Getter <string>(data, children.TextProperty);
                        }

                        RenderTreeItem(builder, data, children.Template, text, children.HasChildren, children.Expanded, children.Selected);
                        builder.CloseComponent();
                    }
                });

                item.RenderChildContent(childContent);

                if (AllowCheckBoxes && AllowCheckChildren && args.Children.Data != null)
                {
                    if (CheckedValues != null && CheckedValues.Contains(item.Value))
                    {
                        await SetCheckedValues(CheckedValues.Union(args.Children.Data.Cast <object>().Except(UncheckedValues)));
                    }
                    else
                    {
                        await SetCheckedValues(CheckedValues.Except(args.Children.Data.Cast <object>()));
                    }
                }
            }
            else if (item.Data != null)
            {
                if (AllowCheckBoxes && AllowCheckChildren && item.Data != null)
                {
                    if (CheckedValues != null && CheckedValues.Contains(item.Value))
                    {
                        await SetCheckedValues(CheckedValues.Union(item.Data.Cast <object>().Except(UncheckedValues)));
                    }
                    else
                    {
                        await SetCheckedValues(CheckedValues);
                    }
                }
            }
        }
示例#3
0
        protected async System.Threading.Tasks.Task Tree0Expand(TreeExpandEventArgs args)
        {
            var northwindGetProductsResult = await Northwind.GetProducts(new Query()
            {
                Filter = $@"i => i.CategoryID == @0", FilterParameters = new object[] { (args.Value as Category).CategoryID }
            });

            args.Children.Data = northwindGetProductsResult;

            args.Children.TextProperty = "ProductName";

            args.Children.HasChildren = (product) => false;
        }
        protected void LoadDirectory(TreeExpandEventArgs args)
        {
            CurrentDirectory = args.Value as string;

            // Only get the folders not the files
            args.Children.Data =
                Directory.EnumerateFileSystemEntries(CurrentDirectory)
                .Where(x => !x.Contains("."));

            args.Children.Text        = GetTextForNode;
            args.Children.HasChildren =
                (path) => Directory.Exists((string)path);
            args.Children.Template = FileOrFolderTemplate;
        }
示例#5
0
 /// <summary>
 /// Determines how the children of a node should be designed
 /// </summary>
 /// <param name="args"> Holds the children nodes </param>
 public static void OnExpand(TreeExpandEventArgs args)
 {
     args.Children.Data        = ((TreeNode)args.Value).Children;
     args.Children.Text        = TextSelector;
     args.Children.HasChildren = (node) =>
     {
         if (node is TreeNode)
         {
             return(((TreeNode)node).HasChildren);
         }
         else
         {
             return(false);
         }
     };
     args.Children.Template = TreeDesign;
     args.Children.Expanded = ((node) => { return(((BaseNode)node).IsExpanded); });
     ((BaseNode)(args.Value)).IsExpanded = true;
 }
示例#6
0
 /// <summary>
 /// Used only for File Tree, calls the TreeDesignFiles method instead of TreeDesign
 /// </summary>
 /// <param name="args"> Holds the nodes to add the expansion preferences to</param>
 public static void OnExpandFiles(TreeExpandEventArgs args)
 {
     OnExpand(args);
     args.Children.Template = TreeDesignFiles;
 }