TsgcWSPClient_Dataset

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.

 

Methods

  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

 

 

 

Events

  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;

 

Properties

   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.

 

   UpdateMode: