GroupGridView
GridView có group rows theo 1 field. Header group có thể collapse/expand.
Source:
Core/Components/GroupGridView.csComponentTypetrong DB:GridViewvớiGroupByset — Core tự pickGroupGridViewthay vìGridViewthường. Cũng dùng đượcGroupGridViewqua reflection.
Cấu hình
ComType: GroupGridView
Reference: Order
DataSourceFilter: ?$filter=Active eq true
GroupBy: StatusName # field group theo
GroupFormat: "{StatusName} ({COUNT})"
CanAdd: true
VirtualScroll: true
Field DB dùng
Kế thừa toàn bộ field của GridView. Field riêng / quan trọng:
| Field | Vai trò |
|---|---|
GroupBy | Field property group rows theo (vd StatusName, hoặc nested Customer/Country). |
GroupFormat | String template header group ("{StatusName} ({COUNT})"). |
GroupEvent | JSON map event cho group row (KHÔNG phải Events). Vd {"click": "OnGroupClicked"}. |
FieldName | Property bind nếu grid này nằm trong navigation collection. |
CanAdd | True → hiển thị nút thêm row mới. |
VirtualScroll | True → render virtualized cho data lớn. |
IsRealtime | True → push update qua WebSocket. |
UpperCase | True → text trong group header uppercase. |
Events kích hoạt
Group event — qua field riêng GroupEvent (KHÔNG phải Events):
// Component.GroupEvent
{ "click": "OnGroupClicked", "dblclick": "OnGroupDblClicked" }
| Event | Method signature |
|---|---|
click | (row) |
dblclick | (row) |
row là 1 row group (chứa info group: Key, Items, …).
public void OnGroupClicked(object row)
{
Toast.Small("Click vào group: " + row);
}
Row event — qua Events field, giống GridView.
Tip
GroupBychấp nhận property name của row entity. Có thể nest qua FK:Customer/Country/Code.GroupFormatdùng{FieldName}cho field group +{COUNT}cho số lượng item.