This is Client Protocol Dataset Component, you need to drop this component in the form and select a TsgcWebSocketClient Component using Client Property and select a Dataset Component using Dataset Property.
This component inherits from TsgcWSProtocol_Client_sgc all methods and properties.
Subscribe_all: subscribe to all available channels
new: fired on new dataset record.
update: fired on post dataset record.
delete: fired on delete dataset record.
Synchronize: requests all dataset records from the server
GetMetaData: requests all dataset fields from server
These events are specific on the dataset protocol.
OnAfterDeleteRecord: event fired after a record is deleted from Dataset.
OnAfterNewRecord: event fired after a record is created on Dataset.
OnAfterUpdateRecord: event fired after a record is updated on Dataset.
OnAfterSynchronize: event fired after synchronization has ended.
OnBeforeDeleteRecord: event fired before a record is deleted from Dataset. If Argument "Handled" is True, means that the user handles this event and if won't be deleted (by default this argument is False)
OnBeforeNewRecord: event fired before a record is created on Dataset. If Argument "Handled" is True, means that user the handles this event and if won't be inserted (by default this argument is False)
OnBeforeUpdateRecord: event fired before a record is updated on Dataset. If Argument "Handled" is True, means that user the handles this event and if won't be updated (by default this argument is False)
OnBeforeSynchronization: event fired before a synchronization starts.
OnMetaData: event fired after a GetMetaData request. Example:
procedure OnMetaData(Connection: TsgcWSConnection; const JSON: TsgcObjectJSON);
var
i: integer;
vFieldName, vDataType: string;
vDataSize: Integer;
vKeyField: Boolean;
begin
for i:= 0 to JSON.Count -1 do
begin
vFieldName := JSON.Item[i].Node['fieldname'].Value;
vDataType := JSON.Item[i].Node['datatype'].Value;
vDataSize := JSON.Item[i].Node['datasize'].Value;
vKeyField := JSON.Item[i].Node['keyfield'].Value;
end;
end;
AutoSubscribe: enabled by default, if True, client subscribes to all available channels after successful connection.
ApplyUpdates: if enabled, every time the client receives a dataset update from server, it will be saved on the client side.
AutoEscapeText: if enabled (disabled by default), automatically escape/unescape characters inside field values like "{", "["...
NotifyUpdates: if enabled, every time dataset client changes, it sends a message to server notifying this change.
FormatSettings: allows to set the format of double and datetime fields (to avoid conflicts between diffferent format settings of peers). This format must be the same for server and clients.
DecimalSeparator: ","
ThousandSeparator: "."
DateSeparator: "/"
TimeSeparator: ":"
ShortDateFormat: "dd/mm/yyyy hh:nn:ss:zzz"
UpdateMode:
upWhereAll: (by default) all fields are transmitted to the server,
upWhereChanged: only Fields that have changed will be transmitted to the server.
upRefreshAll: dataset is refreshed to get the latest changes.