Back to Devexpress

TcxCustomSchedulerStorage.PostEvents Method

vcl-cxschedulerstorage-dot-tcxcustomschedulerstorage-7a9947fb.md

latest4.0 KB
Original Source

TcxCustomSchedulerStorage.PostEvents Method

Publishes all newly created user events and updates content displayed in the associated Scheduler control.

Declaration

delphi
procedure PostEvents; virtual;

Remarks

Call the PostEvents procedure to post (publish) [user events] added using the createEvent function. All posted events are accessible through the Events property.

Note

A PostEvents procedure call has no effect if the [IsActive] function returns False or the scheduler storage component has only posted user events.

Code Example: Create User Events

The following code example creates, configures, and displays two events in a TcxScheduler control using a TcxSchedulerDBStorage component as user event storage:

delphi
uses
  System.SysUtils, // Declares the Now function
  System.DateUtils, // Declares the IncHour function
  cxScheduler, // Declares the TcxScheduler class
  cxSchedulerStorage, // Declares the TcxCustomSchedulerStorage class and related types
  cxSchedulerDBStorage; // Declares the TcxSchedulerDBStorage class
// ...

procedure TMyForm.FormCreate(Sender: TObject);
var
  AEvent: TcxSchedulerEvent;
begin
  cxSchedulerDBStorage1.BeginUpdate; // Initiates the following batch operation
  try
    AEvent := cxSchedulerDBStorage1.createEvent;
    AEvent.Caption := 'Event1';
    AEvent.Start := Now;
    AEvent.Finish := IncHour(Now, 2);
    AEvent.ResourceID := 1;

    AEvent := cxSchedulerDBStorage1.createEvent;
    AEvent.Caption := 'Event2';
    AEvent.Start := IncHour(Now, 3);
    AEvent.Finish := IncHour(Now, 5);
    AEvent.ResourceID := 1;

    cxSchedulerDBStorage1.PostEvents; // Publishes created and configured user events
  finally
    cxSchedulerDBStorage1.EndUpdate; // Calls EndUpdate regardless of the batch operation's success
  end;
end;
cpp
#include  // Declares the IncHour function
#include  // Declares the Now function
#include "cxScheduler.hpp" // Declares the TcxScheduler class
#include "cxSchedulerStorage.hpp" // Declares the TcxCustomSchedulerStorage class and related types
#include "cxSchedulerDBStorage.hpp" // Declares the TcxSchedulerDBStorage class

// Add the following linker directives to the corresponding CPP source file:
#pragma link "cxScheduler" // Required to use cxScheduler.hpp declarations
#pragma link "cxSchedulerStorage" // Required to use cxSchedulerStorage.hpp declarations
#pragma link "cxSchedulerDBStorage" // Required to use cxSchedulerDBStorage.hpp declarations

void __fastcall TMyForm::FormCreate(TObject *Sender)
{
  TcxSchedulerEvent* AEvent;
  cxSchedulerDBStorage1->BeginUpdate(); // Initiates the following batch change
  try
  {
    AEvent = cxSchedulerDBStorage1->createEvent();
    AEvent->Caption = "Event1";
    AEvent->Start = Now();
    AEvent->Finish = IncHour(Now(), 2);
    AEvent->ResourceID = 1;

    AEvent = cxSchedulerDBStorage1->createEvent();
    AEvent->Caption = "Event2";
    AEvent->Start = IncHour(Now(), 3);
    AEvent->Finish = IncHour(Now(), 5);
    AEvent->ResourceID = 1;

    cxSchedulerDBStorage1->PostEvents(); // Publishes created and configured user events
  }
  __finally
  {
    cxSchedulerDBStorage1->EndUpdate(); // Calls EndUpdate regardless of the batch operation's success
  }
}

See Also

TcxSchedulerEvent.Post Procedure

TcxCustomSchedulerStorage Class

TcxCustomSchedulerStorage Members

cxSchedulerStorage Unit