Loading...
Loading...
Compare original and translation side by side
dotnet add package Syncfusion.Blazor.Kanban
dotnet add package Syncfusion.Blazor.Themesdotnet add package Syncfusion.Blazor.Kanban
dotnet add package Syncfusion.Blazor.Themesusing Syncfusion.Blazor;
builder.Services.AddSyncfusionBlazor();using Syncfusion.Blazor;
builder.Services.AddSyncfusionBlazor();@using Syncfusion.Blazor
@using Syncfusion.Blazor.Kanban@using Syncfusion.Blazor
@using Syncfusion.Blazor.Kanban<link href="_content/Syncfusion.Blazor.Themes/bootstrap5.css" rel="stylesheet" />
<script src="_content/Syncfusion.Blazor.Core/scripts/syncfusion-blazor.min.js" type="text/javascript"></script><link href="_content/Syncfusion.Blazor.Themes/bootstrap5.css" rel="stylesheet" />
<script src="_content/Syncfusion.Blazor.Core/scripts/syncfusion-blazor.min.js" type="text/javascript"></script><SfKanban TValue="TasksModel" KeyField="Status" DataSource="Tasks">
<KanbanColumns>
<KanbanColumn HeaderText="To Do" KeyField="@(new List<string>() {"Open"})"></KanbanColumn>
<KanbanColumn HeaderText="In Progress" KeyField="@(new List<string>() {"InProgress"})"></KanbanColumn>
<KanbanColumn HeaderText="Testing" KeyField="@(new List<string>() {"Testing"})"></KanbanColumn>
<KanbanColumn HeaderText="Done" KeyField="@(new List<string>() {"Close"})"></KanbanColumn>
</KanbanColumns>
<KanbanCardSettings HeaderField="Title" ContentField="Summary"></KanbanCardSettings>
</SfKanban>
@code {
public class TasksModel
{
public string Id { get; set; }
public string Title { get; set; }
public string Status { get; set; }
public string Summary { get; set; }
public string Assignee { get; set; }
}
public List<TasksModel> Tasks = new List<TasksModel>()
{
new TasksModel { Id = "Task 1", Title = "BLAZ-29001", Status = "Open", Summary = "Analyze the new requirements gathered from the customer.", Assignee = "Nancy Davloio" },
new TasksModel { Id = "Task 2", Title = "BLAZ-29002", Status = "InProgress", Summary = "Improve application performance", Assignee = "Andrew Fuller" },
new TasksModel { Id = "Task 3", Title = "BLAZ-29003", Status = "Open", Summary = "Arrange a web meeting with the customer.", Assignee = "Janet Leverling" },
new TasksModel { Id = "Task 4", Title = "BLAZ-29004", Status = "Testing", Summary = "Fix the issues reported by the customer.", Assignee = "Janet Leverling" },
new TasksModel { Id = "Task 5", Title = "BLAZ-29005", Status = "Close", Summary = "Fix the issues reported in Safari browser.", Assignee = "Steven walker" },
};
}<SfKanban TValue="TasksModel" KeyField="Status" DataSource="Tasks">
<KanbanColumns>
<KanbanColumn HeaderText="To Do" KeyField="@(new List<string>() {"Open"})"></KanbanColumn>
<KanbanColumn HeaderText="In Progress" KeyField="@(new List<string>() {"InProgress"})"></KanbanColumn>
<KanbanColumn HeaderText="Testing" KeyField="@(new List<string>() {"Testing"})"></KanbanColumn>
<KanbanColumn HeaderText="Done" KeyField="@(new List<string>() {"Close"})"></KanbanColumn>
</KanbanColumns>
<KanbanCardSettings HeaderField="Title" ContentField="Summary"></KanbanCardSettings>
</SfKanban>
@code {
public class TasksModel
{
public string Id { get; set; }
public string Title { get; set; }
public string Status { get; set; }
public string Summary { get; set; }
public string Assignee { get; set; }
}
public List<TasksModel> Tasks = new List<TasksModel>()
{
new TasksModel { Id = "Task 1", Title = "BLAZ-29001", Status = "Open", Summary = "Analyze the new requirements gathered from the customer.", Assignee = "Nancy Davloio" },
new TasksModel { Id = "Task 2", Title = "BLAZ-29002", Status = "InProgress", Summary = "Improve application performance", Assignee = "Andrew Fuller" },
new TasksModel { Id = "Task 3", Title = "BLAZ-29003", Status = "Open", Summary = "Arrange a web meeting with the customer.", Assignee = "Janet Leverling" },
new TasksModel { Id = "Task 4", Title = "BLAZ-29004", Status = "Testing", Summary = "Fix the issues reported by the customer.", Assignee = "Janet Leverling" },
new TasksModel { Id = "Task 5", Title = "BLAZ-29005", Status = "Close", Summary = "Fix the issues reported in Safari browser.", Assignee = "Steven walker" },
};
}| Topic | Reference File |
|---|---|
| Getting started (WebAssembly/Server/Web App) | getting-started.md |
| Data binding (local, remote, ExpandoObject, Observable) | data-binding.md |
| Column configuration | columns.md |
| Card customization | cards.md |
| Drag and drop (internal & external) | drag-and-drop.md |
| Swimlane grouping | swimlane.md |
| Card editing dialog | dialog.md |
| Events reference | events.md |
| Card sorting | sort.md |
| Workflow restrictions | workflow.md |
| WIP validation (MinCount/MaxCount) | validation.md |
| Styling and CSS classes | style.md |
| Accessibility (WCAG, keyboard navigation) | accessibility.md |
| Localization and RTL | localization.md |
| Tooltips | tooltip.md |
| Responsive mode | responsive-mode.md |
| Height and width dimensions | dimensions.md |
| 主题 | 参考文件 |
|---|---|
| 快速入门(WebAssembly/Server/Web App) | getting-started.md |
| 数据绑定(本地、远程、ExpandoObject、Observable) | data-binding.md |
| 列配置 | columns.md |
| 卡片自定义 | cards.md |
| 拖拽(内部及外部) | drag-and-drop.md |
| 泳道分组 | swimlane.md |
| 卡片编辑对话框 | dialog.md |
| 事件参考 | events.md |
| 卡片排序 | sort.md |
| 工作流限制 | workflow.md |
| WIP验证(MinCount/MaxCount) | validation.md |
| 样式与CSS类 | style.md |
| 可访问性(WCAG、键盘导航) | accessibility.md |
| 本地化与RTL | localization.md |
| 工具提示 | tooltip.md |
| 响应式模式 | responsive-mode.md |
| 高度与宽度尺寸 | dimensions.md |
<SfKanban TValue="TasksModel" KeyField="Status" DataSource="Tasks">
<KanbanColumns>
<KanbanColumn HeaderText="To Do" KeyField="@(new List<string>() {"Open"})"></KanbanColumn>
<KanbanColumn HeaderText="In Progress" KeyField="@(new List<string>() {"InProgress"})"></KanbanColumn>
<KanbanColumn HeaderText="Done" KeyField="@(new List<string>() {"Close"})"></KanbanColumn>
</KanbanColumns>
<KanbanCardSettings HeaderField="Title" ContentField="Summary"></KanbanCardSettings>
<KanbanSwimlaneSettings KeyField="Assignee"></KanbanSwimlaneSettings>
</SfKanban><SfKanban TValue="TasksModel" KeyField="Status" DataSource="Tasks">
<KanbanColumns>
<KanbanColumn HeaderText="To Do" KeyField="@(new List<string>() {"Open"})"></KanbanColumn>
<KanbanColumn HeaderText="In Progress" KeyField="@(new List<string>() {"InProgress"})"></KanbanColumn>
<KanbanColumn HeaderText="Done" KeyField="@(new List<string>() {"Close"})"></KanbanColumn>
</KanbanColumns>
<KanbanCardSettings HeaderField="Title" ContentField="Summary"></KanbanCardSettings>
<KanbanSwimlaneSettings KeyField="Assignee"></KanbanSwimlaneSettings>
</SfKanban><SfKanban TValue="TasksModel" KeyField="Status" DataSource="Tasks">
<KanbanColumns>
<KanbanColumn HeaderText="Backlog" KeyField="@(new List<string>() {"Open"})" MinCount="2"></KanbanColumn>
<KanbanColumn HeaderText="In Progress" KeyField="@(new List<string>() {"InProgress"})" MaxCount="3"></KanbanColumn>
<KanbanColumn HeaderText="Done" KeyField="@(new List<string>() {"Close"})"></KanbanColumn>
</KanbanColumns>
<KanbanCardSettings HeaderField="Title" ContentField="Summary"></KanbanCardSettings>
</SfKanban><SfKanban TValue="TasksModel" KeyField="Status" DataSource="Tasks">
<KanbanColumns>
<KanbanColumn HeaderText="Backlog" KeyField="@(new List<string>() {"Open"})" MinCount="2"></KanbanColumn>
<KanbanColumn HeaderText="In Progress" KeyField="@(new List<string>() {"InProgress"})" MaxCount="3"></KanbanColumn>
<KanbanColumn HeaderText="Done" KeyField="@(new List<string>() {"Close"})"></KanbanColumn>
</KanbanColumns>
<KanbanCardSettings HeaderField="Title" ContentField="Summary"></KanbanCardSettings>
</SfKanban><SfKanban TValue="TasksModel" KeyField="Status" DataSource="Tasks">
<KanbanColumns>
<KanbanColumn HeaderText="To Do" KeyField="@(new List<string>() {"Open"})"></KanbanColumn>
<KanbanColumn HeaderText="In Progress" KeyField="@(new List<string>() {"InProgress"})"></KanbanColumn>
<KanbanColumn HeaderText="Done" KeyField="@(new List<string>() {"Close"})"></KanbanColumn>
</KanbanColumns>
<KanbanCardSettings HeaderField="Title" ContentField="Summary"></KanbanCardSettings>
<KanbanSortSettings SortBy="SortOrderBy.Index" Field="RankId"></KanbanSortSettings>
</SfKanban><SfKanban TValue="TasksModel" KeyField="Status" DataSource="Tasks">
<KanbanColumns>
<KanbanColumn HeaderText="To Do" KeyField="@(new List<string>() {"Open"})"></KanbanColumn>
<KanbanColumn HeaderText="In Progress" KeyField="@(new List<string>() {"InProgress"})"></KanbanColumn>
<KanbanColumn HeaderText="Done" KeyField="@(new List<string>() {"Close"})"></KanbanColumn>
</KanbanColumns>
<KanbanCardSettings HeaderField="Title" ContentField="Summary"></KanbanCardSettings>
<KanbanSortSettings SortBy="SortOrderBy.Index" Field="RankId"></KanbanSortSettings>
</SfKanban>| Property | Component | Description |
|---|---|---|
| | Maps the data field that determines which column a card belongs to |
| | Binds local or remote data to the Kanban |
| | Enables/disables drag-and-drop (default: true) |
| | Shows card details on hover |
| | Enables right-to-left layout |
| | Maps the unique ID field for card headers |
| | Maps the field shown in card body |
| | One or more status values that map cards to this column |
| | Allows column expand/collapse |
| | Minimum card count for WIP validation |
| | Maximum card count for WIP validation |
| | Restricts cards to only drop into specified columns |
| | Prevents cards from being dropped into a column |
| | Prevents cards from being dragged from a column |
| | Groups cards into swimlane rows by this field |
| | Sorting mode: DataSourceOrder, Index, or Custom |
| 属性 | 组件 | 描述 |
|---|---|---|
| | 映射用于确定卡片所属列的数据字段 |
| | 将本地或远程数据绑定到看板 |
| | 启用/禁用拖拽功能(默认值:true) |
| | 鼠标悬停时显示卡片详情 |
| | 启用从右到左的布局 |
| | 映射卡片标题的唯一ID字段 |
| | 映射卡片主体中显示的字段 |
| | 一个或多个状态值,用于将卡片映射到本列 |
| | 允许列展开/折叠 |
| | WIP验证的最小卡片数量 |
| | WIP验证的最大卡片数量 |
| | 限制卡片只能拖放到指定列 |
| | 阻止卡片被拖放到本列 |
| | 阻止卡片从本列被拖走 |
| | 按此字段将卡片分组为泳道行 |
| | 排序模式:DataSourceOrder、Index或Custom |