Back to Devexpress

TcxCustomSchedulerStorage.createEvent Method

vcl-cxschedulerstorage-dot-tcxcustomschedulerstorage-1687b282.md

latest4.4 KB
Original Source

TcxCustomSchedulerStorage.createEvent Method

Creates a user event with the default settings and adds the event to the storage component.

Declaration

delphi
function createEvent: TcxSchedulerEvent; virtual;

Returns

TypeDescription
TcxSchedulerEvent

The created user event.

|

Remarks

Call the createEvent function to create a new user event and add it to the storage component.

To update content displayed in the associated TcxScheduler control, call the PostEvents procedure. All posted events are accessible through the Events property.

You can call the Clear procedure to delete all events in the storage component. To delete an individual user event, call its Delete procedure.

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

TcxSchedulerEventList.Add Function

TcxCustomSchedulerStorage Class

TcxCustomSchedulerStorage Members

cxSchedulerStorage Unit