CyberDataRow class

CyberDataRow - đại diện cho một row dữ liệu với memory leak protection

Inheritance
Implemented types
Available extensions

Constructors

CyberDataRow([Map<String, dynamic>? initialData])

Properties

changedFields → Set<String>
no setter
fieldNames → List<String>
no setter
hasCustomIdentity → bool
Check if using custom identity
no setter
hashCode → int
The hash code for this object.
no setteroverride
hasListeners → bool
Whether any listeners are currently registered.
no setteroverride
identityKey → Object
Get the identity key for this row Returns stable, unique UUID suitable for widget keys, caching, comparison
no setteroverride
internalId → String
Get internal UUID (even if custom identity is set)
no setter
isDirty → bool
no setter
isDisposed → bool
no setter
isIdentityLocked → bool
✅ Check if identity is locked
no setter
listenerCount → int
no setter
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited

Methods

$(String fieldName) → CyberBindingExpression

Available on CyberDataRow, provided by the CyberDataRowBinding extension

Alias cho bind (ngắn gọn hơn)
acceptChanges() → void
addListener(VoidCallback listener) → void
Register a closure to be called when the object changes.
override
batch(void action()) → void
beginBatch() → void
Batch mode operations
bind(String fieldName) → CyberBindingExpression

Available on CyberDataRow, provided by the CyberDataRowBinding extension

Tạo binding expression cho field Usage: drEdit.bind('name') thay vì drEdit'name'
clearCustomIdentity() → void
Clear custom identity (revert to internal UUID) Throws StateError if identity is locked
copy() → CyberDataRow
Copy creates new entity with new UUID
dispose() → void
Discards any resources used by the object.
override
disposeAllListeners() → void
endBatch() → void
get<T>(String fieldName) → T?
getChangedValues() → Map<String, dynamic>
getOriginal(String fieldName) → dynamic
hasField(String fieldName) → bool
lockIdentity() → void
✅ NEW: Explicitly lock identity Call this before binding row to UI (e.g., in ListView itemBuilder) After locking, setIdentityKey() will throw error
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
notifyListeners() → void
Call all the registered listeners.
inherited
rejectChanges() → void
removeListener(VoidCallback listener) → void
Remove a previously registered closure from the list of closures that are notified when the object changes.
override
setIdentityKey(Object key) → void
Set custom identity key (advanced usage) Use when you want to override internal UUID with data-based key
setValue(String fieldName, dynamic value) → void
toMap() → Map<String, dynamic>
toString() → String
A string representation of this object.
override
toXml(String tableName, {List<String>? includeColumns, List<String>? excludeColumns}) → String
V_Call(BuildContext context) → void

Operators

operator ==(Object other) → bool
The equality operator.
override
operator [](String fieldName) → dynamic
operator []=(String fieldName, dynamic value) → void