syncfusion-aspnetcore-listview
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseImplementing ListView in ASP.NET Core
在ASP.NET Core中实现ListView
The ListView component is a powerful, feature-rich control that displays data in interactive hierarchical structures. It supports data binding (local and remote), grouping, nested lists, custom templates, virtualization for performance, and comprehensive keyboard accessibility.
ListView组件是一个功能强大的控件,可在交互式层级结构中显示数据。它支持数据绑定(本地和远程)、分组、嵌套列表、自定义模板、用于性能优化的虚拟化,以及全面的键盘可访问性。
When to Use This Skill
何时使用该技能
Use this skill when you need to:
- Display Interactive Lists: Render data collections with click selection, hover effects, and visual feedback
- Group Related Items: Organize list items into categories using the field
groupBy - Support Nested Navigation: Create multi-level hierarchies with parent-child relationships
- Optimize Performance: Handle large datasets (1000+ items) with UI virtualization
- Customize Appearance: Apply templates for headers, items, and group titles
- Enable Selection: Implement single or multi-select with checkboxes
- Handle Remote Data: Bind to server APIs with DataManager and Query
- Implement Keyboard Access: Support keyboard navigation for accessibility
在以下场景中使用该技能:
- 显示交互式列表:渲染带有点击选择、悬停效果和视觉反馈的数据集合
- 分组相关项:使用字段将列表项组织到分类中
groupBy - 支持嵌套导航:创建带有父子关系的多级层级结构
- 优化性能:通过UI虚拟化处理大型数据集(1000+条数据)
- 自定义外观:为表头、列表项和分组标题应用模板
- 启用选择功能:实现带复选框的单选或多选
- 处理远程数据:通过DataManager和Query绑定到服务器API
- 实现键盘访问:支持键盘导航以提升可访问性
Component Overview
组件概述
The ListView component in Syncfusion EJ2 for ASP.NET Core uses TagHelper syntax and exposes core properties:
| Category | Key Properties |
|---|---|
| Data Binding | |
| Display Control | |
| User Interaction | |
| Performance | |
| Appearance | |
| Accessibility | |
适用于ASP.NET Core的Syncfusion EJ2 ListView组件使用TagHelper语法,并公开以下核心属性:
| 类别 | 核心属性 |
|---|---|
| 数据绑定 | |
| 显示控制 | |
| 用户交互 | |
| 性能优化 | |
| 外观设置 | |
| 可访问性 | |
Documentation and Navigation Guide
文档与导航指南
Getting Started & Data Binding
入门与数据绑定
📄 Read: references/getting-started-and-data-binding.md
- ASP.NET Core project setup and TagHelper import
- DataSource property variations (array, JSON, remote)
- Field mapping for text, id, and nested properties
- Remote data binding with DataManager and Query
- Basic ListView initialization examples
📄 阅读: references/getting-started-and-data-binding.md
- ASP.NET Core项目设置与TagHelper导入
- DataSource属性的多种形式(数组、JSON、远程数据)
- 文本、ID和嵌套属性的字段映射
- 使用DataManager和Query进行远程数据绑定
- 基础ListView初始化示例
Field Settings & Configuration
字段设置与配置
📄 Read: references/field-settings-and-configuration.md
- Complete field mapping options (14 properties)
- iconCss for dynamic icon customization
- enabled, isVisible, isChecked state properties
- groupBy for categorization logic
- child property for nested list support
- Validation patterns and edge cases
📄 阅读: references/field-settings-and-configuration.md
- 完整的字段映射选项(14个属性)
- 用于动态图标自定义的iconCss
- enabled、isVisible、isChecked状态属性
- 用于分类逻辑的groupBy
- 支持嵌套列表的child属性
- 验证模式与边界情况
Grouping, Nested Lists & Virtualization
分组、嵌套列表与虚拟化
📄 Read: references/grouping-nested-lists-virtualization.md
- Grouping items by category with groupTemplate
- Nested list navigation structure
- enableVirtualization for large datasets
- Window scroll vs container scroll modes
- Conditional rendering in templates
- Performance optimization strategies
📄 阅读: references/grouping-nested-lists-virtualization.md
- 使用groupTemplate按类别分组列表项
- 嵌套列表导航结构
- 为大型数据集启用enableVirtualization
- 窗口滚动与容器滚动模式
- 模板中的条件渲染
- 性能优化策略
Templates & Customization
模板与自定义
📄 Read: references/templates-and-customization.md
- template property for item customization
- headerTemplate and groupTemplate
- Built-in CSS classes (e-list-wrapper, e-list-avatar, e-list-badge, etc.)
- Avatar and multi-line list patterns
- Custom HTML markup in templates
📄 阅读: references/templates-and-customization.md
- 用于列表项自定义的template属性
- headerTemplate和groupTemplate
- 内置CSS类(e-list-wrapper、e-list-avatar、e-list-badge等)
- 头像与多行列表模式
- 模板中的自定义HTML标记
Checkboxes, Selection & Events
复选框、选择与事件
📄 Read: references/checkboxes-selection-events.md
- showCheckBox property and positioning (Left/Right)
- select event with SelectEventArgs
- Multi-item selection patterns
- Checked state management
- Selection event handling
📄 阅读: references/checkboxes-selection-events.md
- showCheckBox属性与位置设置(左/右)
- 带有SelectEventArgs的select事件
- 多选项选择模式
- 选中状态管理
- 选择事件处理
Styling & Appearance
样式与外观
📄 Read: references/styling-appearance-properties.md
- cssClass for custom styling
- height and width control
- showHeader and showIcon properties
- CSS selector reference for styling
- Hover and focus state customization
📄 阅读: references/styling-appearance-properties.md
- 用于自定义样式的cssClass
- 高度与宽度控制
- showHeader和showIcon属性
- 样式用CSS选择器参考
- 悬停与聚焦状态自定义
Events & Error Handling
事件与错误处理
📄 Read: references/events-and-error-handling.md
- select, scroll, actionBegin, actionComplete events
- Event binding in TagHelper
- Remote data failure scenarios
- Error handling strategies
📄 阅读: references/events-and-error-handling.md
- select、scroll、actionBegin、actionComplete事件
- TagHelper中的事件绑定
- 远程数据加载失败场景
- 错误处理策略
Sorting, Filtering & Scrolling
排序、筛选与滚动
📄 Read: references/sorting-filtering-scrolling.md
- sortOrder property (Ascending, Descending)
- sortBy field mapping
- scroll event for dynamic loading
- Infinite scroll patterns
- Filter operations
📄 阅读: references/sorting-filtering-scrolling.md
- sortOrder属性(升序、降序)
- sortBy字段映射
- 用于动态加载的scroll事件
- 无限滚动模式
- 筛选操作
Accessibility & Keyboard Navigation
可访问性与键盘导航
📄 Read: references/accessibility-keyboard-aria.md
- Keyboard shortcuts (Arrow Up/Down, Select, Back)
- ARIA attributes (aria-selected, aria-level)
- enableRtl for right-to-left support
- Screen reader compatibility
- Best practices for inclusive design
📄 阅读: references/accessibility-keyboard-aria.md
- 键盘快捷键(上/下箭头、选择、返回)
- ARIA属性(aria-selected、aria-level)
- 支持从右到左布局的enableRtl
- 屏幕阅读器兼容性
- 包容性设计最佳实践
Advanced Features & Persistence
高级功能与状态持久化
📄 Read: references/advanced-features-persistence.md
- enablePersistence for state retention
- animation property with AnimationSettings
- locale for localization
- disableHtmlEncode and enableHtmlSanitizer
- RTL and cultural adaptations
📄 阅读: references/advanced-features-persistence.md
- 用于状态保留的enablePersistence
- 带有AnimationSettings的animation属性
- 用于本地化的locale
- disableHtmlEncode和enableHtmlSanitizer
- RTL与文化适配
API Reference
API参考
📄 Read: references/api-reference.md
- Complete ListView properties (30+ properties documented)
- Events reference (select, scroll, actionBegin, actionComplete, actionFailure)
- Field mapping API with type signatures
- Enumerations (SortOrder, AnimationEffect, etc.)
- Method signatures for programmatic control
- Event argument types and properties
📄 阅读: references/api-reference.md
- 完整的ListView属性(30+个已记录属性)
- 事件参考(select、scroll、actionBegin、actionComplete、actionFailure)
- 带类型签名的字段映射API
- 枚举(SortOrder、AnimationEffect等)
- 用于程序化控制的方法签名
- 事件参数类型与属性
Quick Start Example
快速入门示例
Basic ASP.NET Core ListView with TagHelper:
cshtml
@{
ViewData["Title"] = "ListView Example";
List<ListItem> dataSource = new List<ListItem>()
{
new ListItem { id = "1", text = "Artwork" },
new ListItem { id = "2", text = "Abstract" },
new ListItem { id = "3", text = "Modern Painting" },
new ListItem { id = "4", text = "Ceramics" }
};
}
<ejs-listview id="list" dataSource="dataSource"
showHeader="true" headerTitle="Art Gallery">
</ejs-listview>
@code {
public class ListItem
{
public string id { get; set; }
public string text { get; set; }
}
}With Selection & Checkbox:
cshtml
<ejs-listview id="list" dataSource="dataSource"
showCheckBox="true" checkBoxPosition="Right">
</ejs-listview>With Grouping:
cshtml
<ejs-listview id="list" dataSource="dataSource">
<e-listview-fieldsettings text="text" groupBy="category" id="id"></e-listview-fieldsettings>
</ejs-listview>使用TagHelper的基础ASP.NET Core ListView:
cshtml
@{
ViewData["Title"] = "ListView Example";
List<ListItem> dataSource = new List<ListItem>()
{
new ListItem { id = "1", text = "Artwork" },
new ListItem { id = "2", text = "Abstract" },
new ListItem { id = "3", text = "Modern Painting" },
new ListItem { id = "4", text = "Ceramics" }
};
}
<ejs-listview id="list" dataSource="dataSource"
showHeader="true" headerTitle="Art Gallery">
</ejs-listview>
@code {
public class ListItem
{
public string id { get; set; }
public string text { get; set; }
}
}带选择与复选框的示例:
cshtml
<ejs-listview id="list" dataSource="dataSource"
showCheckBox="true" checkBoxPosition="Right">
</ejs-listview>带分组的示例:
cshtml
<ejs-listview id="list" dataSource="dataSource">
<e-listview-fieldsettings text="text" groupBy="category" id="id"></e-listview-fieldsettings>
</ejs-listview>Common Patterns
常见模式
Pattern 1: Simple Data List
模式1:简单数据列表
Use with array of strings or objects; map for display.
dataSourcefields.text使用结合字符串数组或对象数组;映射用于显示。
dataSourcefields.textPattern 2: Categorized Groups
模式2:分类分组
Set to organize items under category headers automatically.
fields.groupBy设置自动将列表项组织到分类表头下。
fields.groupByPattern 3: Nested Hierarchies
模式3:嵌套层级结构
Map to enable drill-down navigation through parent-child relationships.
fields.child映射以启用通过父子关系进行的钻取导航。
fields.childPattern 4: Large Dataset Optimization
模式4:大型数据集优化
Enable to render only visible items; improves performance 10x+.
enableVirtualization="true"启用仅渲染可见项;性能提升10倍以上。
enableVirtualization="true"Pattern 5: Custom Item Display
模式5:自定义列表项显示
Use property with for rich formatting (avatars, badges, multi-line text).
template<div class="e-list-wrapper">使用属性结合实现富格式(头像、徽章、多行文本)。
template<div class="e-list-wrapper">Pattern 6: Remote Data Integration
模式6:远程数据集成
Use with DataManager; set to filter/sort server-side; bind to match API response.
dataSourcequeryfields使用结合DataManager;设置在服务器端进行筛选/排序;绑定以匹配API响应。
dataSourcequeryfieldsKey Field Mappings Reference
核心字段映射参考
The property controls data extraction. Common mappings:
fields| Field Property | Purpose | Example |
|---|---|---|
| Display text for item | |
| Unique identifier | |
| Category/group field | |
| Nested list data | |
| Icon class | |
| Enable/disable state | |
| Checkbox state | |
| Visibility state | |
| Hover tooltip text | |
| Sort field | |
| Custom attributes | |
fields| 字段属性 | 用途 | 示例 |
|---|---|---|
| 列表项的显示文本 | |
| 唯一标识符 | |
| 分类/分组字段 | |
| 嵌套列表数据 | |
| 图标类 | |
| 启用/禁用状态 | |
| 复选框状态 | |
| 可见性状态 | |
| 悬停提示文本 | |
| 排序字段 | |
| 自定义属性 | |
Common Use Cases
常见使用场景
Use Case 1: Product Category Browser
场景1:产品类别浏览器
Group products by category; enable selection for shopping cart addition.
按类别分组产品;启用选择功能以添加到购物车。
Use Case 2: File/Folder Navigation
场景2:文件/文件夹导航
Use nested lists with icons for file explorer interface.
使用带图标的嵌套列表实现文件资源管理器界面。
Use Case 3: Task Management List
场景3:任务管理列表
Combine checkboxes with templates for todo/task display and status tracking.
结合复选框与模板显示待办/任务并跟踪状态。
Use Case 4: Contact Directory
场景4:联系人目录
Sort alphabetically; template with avatars and contact info; filter by category.
按字母排序;使用模板显示头像与联系人信息;按分类筛选。
Use Case 5: Large Data Feed (News, Logs)
场景5:大型数据信息流(新闻、日志)
Enable virtualization; implement scroll event for dynamic loading; optimize rendering.
Next Steps:
- Read getting-started-and-data-binding.md to set up your first ListView
- Explore api-reference.md for complete property, event, and method documentation
- Review templates-and-customization.md for advanced formatting options
- Check references/accessibility-keyboard-aria.md for keyboard and ARIA support
启用虚拟化;实现滚动事件进行动态加载;优化渲染。
下一步:
- 阅读getting-started-and-data-binding.md以搭建你的第一个ListView
- 探索api-reference.md获取完整的属性、事件与方法文档
- 查看templates-and-customization.md了解高级格式化选项
- 查阅references/accessibility-keyboard-aria.md获取键盘与ARIA支持相关内容