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 you 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.