BzTreeView
نمای درختی
چندانتخابی، آیکن، و دکمه های عملیات روی هر نود.
دکمهفرم و اینپوتگروه اینپوتگروه دکمهانتخاب تاریختکمیل خودکارکارتنمایشلودینگدیالوگاعلانپیام عملیاتمنو کشوییکانتکس منوصفحه بندیلایت باکسدرختدیتاگریدنمودارتب و آکاردیوننویگیشن بارسایدبارتایم لاینویزارداسلایدرآپلودرادیتور متنتقویمابزار ایرانی
کامپوننتی پیدا نشد.
چندانتخابی + عملیات
این کامپوننت همه جوره کار میکنه فقط مشخص کن متن،فرزنداش و .. از کجا و چجوری خونده بشن
فروش
انبار
تنظیمات
| عضو | توضیح |
|---|---|
Items | نود های ریشه |
TextSelector | متن هر نود از کجا خونده بشه |
ChildrenSelector | فرزندان هر نود از کجا خونده بشه |
IconSelector | آیکن هر نود (اختیاری) |
MultiSelect | انتخاب چندتایی با چک باکس |
NodeActions | دکمه های هر نود؛ خود نود در context است |
ExpandAll() / CollapseAll() | از طریق ref صدا زده میشن |
GetSelected() | لیست نود های انتخاب شده |
@using BzCore.Components.Tree
@using BzCore.Components.Button
@using BzCore.Enums
<BzTreeView @ref="_tree" TItem="TreeNode" Items="_roots"
TextSelector="@(n => n.Name)"
ChildrenSelector="@(n => n.Children)"
IconSelector="@(n => n.Icon)"
MultiSelect="true">
<NodeActions>
@* context is the node this row renders *@
<BzButton Size="BzSize.Small" Variant="BzButtonVariant.Text" IconOnly
StartIcon="fa-solid fa-pen"
OnClick="@(() => _msg = $"ویرایش: {context.Name}")" />
<BzButton Size="BzSize.Small" Variant="BzButtonVariant.Text" IconOnly
StartIcon="fa-solid fa-trash" Color="BzColor.Danger"
OnClick="@(() => _msg = $"حذف: {context.Name}")" />
</NodeActions>
</BzTreeView>
<BzButton Size="BzSize.Small" Text="باز کردن همه" Variant="BzButtonVariant.Soft"
OnClick="@(() => _tree.ExpandAll())" />
<BzButton Size="BzSize.Small" Text="بستن همه" Variant="BzButtonVariant.Soft"
OnClick="@(() => _tree.CollapseAll())" />
<BzButton Size="BzSize.Small" Text="انتخاب شده ها" OnClick="ShowSelected" />
@if (!string.IsNullOrEmpty(_msg)) { <p>@_msg</p> }
@code {
private BzTreeView<TreeNode> _tree = default!;
private string? _msg;
// Your own model — the tree only needs the three selectors above.
public class TreeNode
{
public string Name { get; set; } = "";
public string? Icon { get; set; }
public List<TreeNode> Children { get; set; } = new();
}
private List<TreeNode> _roots = new()
{
new TreeNode { Name = "فروش", Icon = "fa-solid fa-cart-shopping", Children =
{
new TreeNode { Name = "سفارش ها", Icon = "fa-solid fa-receipt" },
new TreeNode { Name = "مشتری ها", Icon = "fa-solid fa-users", Children =
{
new TreeNode { Name = "حقیقی", Icon = "fa-solid fa-user" },
new TreeNode { Name = "حقوقی", Icon = "fa-solid fa-building" },
}},
}},
new TreeNode { Name = "انبار", Icon = "fa-solid fa-warehouse" },
};
private void ShowSelected()
{
var names = _tree.GetSelected().Select(n => n.Name);
_msg = "انتخاب شده: " + string.Join("، ", names);
}
}