VirtualGrid
Grid render virtualized — chỉ render row đang nằm trong viewport. Dùng cho dataset > 1000 row.
Source:
Core/Components/VirtualGrid.csComponentTypetrong DB:VirtualGrid. Trên màn hình nhỏ (< 768px) Core tự fallback sangGridView(hoặcGroupGridViewnếuGroupByset).
Cấu hình
ComType: VirtualGrid
Reference: Transaction
SqlSelect: "SELECT * FROM v_Transaction"
SqlSearch: ...
VirtualScroll: true
Row: 32 # chiều cao 1 row (px)
Field DB dùng
| Field | Vai trò |
|---|---|
Reference | Type entity nguồn. |
RefName | Tên entity dạng string. |
FieldName | Property bind navigation collection (nếu có). |
SqlSelect | SQL custom thay cho OData (mạnh hơn cho data lớn). |
SqlSearch | SQL custom cho search box. |
JoinTable | Bảng join SQL. |
Row | Bắt buộc — chiều cao px mỗi row (virtual scroll cần biết để tính offset). |
VirtualScroll | Phải true để bật virtual mode. |
FilterLocal | True → filter ở client. |
CanAdd | True → hiển thị nút thêm row. |
DescValue | Description value (cho display readonly). |
Events
Kế thừa từ ListView / GridView. Một số behavior bị disable trong virtual mode (full-grid keyboard nav).
Khi nào dùng
✅ List rất lớn (>1000 row) — render full grid choke browser. ❌ List nhỏ → dùng GridView thường, đơn giản hơn.
Tip
Row(chiều cao px) phải set chính xác — virtual scroll dùng để tính offset.SqlSelect/SqlSearchcho data source SQL custom (thay vì OData).- Test kỹ keyboard nav, sticky header, sort — virtual mode dễ glitch hơn grid thường.