Einzelnen Beitrag anzeigen

stolti

Registriert seit: 31. Aug 2005
Ort: Siegen
6 Beiträge
 
Delphi 2007 Professional
 
#1

TPlanner von TMS, Umstellung Datumsperiode, keine Aktualisierung

  Alt 23. Nov 2015, 11:13
Hallo zusammen,

ich habe nun ein Problem, das ich bisher leider nicht mittels Suche lösen konnte. Ich benutze die TPlanner Komponente von TMS.
Die Komponente und einen Button habe ich in ein Formular gezogen. Ich benutze den Planner im Modus "plDayPeriod".
Auf der linken Achse (positions) stehen die Mitarbeiternamen, im "Display" das jeweilige Tagesdatum.

Wenn ich nun den Button klicke, möchte ich das die Kalenderansicht um einen Monat vorgestellt wird. Die Variablen
"PeriodStartDay" usw. werden auch gefüllt, d.h. die Komponente hat beim nächsten Durchlauf die Werte vom Vordurchlauf.

Die Ansicht verändert sich auch, aber wenn ich dann in den Planer klicke (PlannerMAZeitenItemLeftClick) und mir das
Datum der selektierten Zelle (Spalte) in Edit Feldern anzeigen lasse, kommt nichts. Das bedeuetet ich muss irgendwo
anders noch etwas füllen, denn der Komponente müssen Angaben fehlen, um das Datum der selektierten Zelle zu kennen.

Was mache ich falsch, bzw. was fehlt?

Ich habe schon ein paar Beispiel von TMS durchgeschaut, hier im Forum geschaut, gegoogelt, das PDF von TMS druchgeschaut,
aber mir kommt nicht die richtige Idee / Info...

Hat jemenad eine Idee was fehlt, ich würde mich über einen Hinweis freuen!

Anbei der Code, die auskommentierten Zeilen laden bzw. speichern den Kalender in eine MySql Tabelle:

Delphi-Quellcode:
procedure TForm1.ButtonPlanerArbeitszeiteMonatVorClick(Sender: TObject);
var jahr, monat, tag : word;
    erg : integer;

begin
  ButtonZeitplanerSpeichernClick(self);

  jahr := PlannerMAZeiten.Mode.PeriodStartYear;
  monat := PlannerMAZeiten.Mode.PeriodStartMonth;
  tag := PlannerMAZeiten.Mode.PeriodStartDay;

  // Start
  monat := monat + 1;
  if monat = 13 then
  begin
    monat := 1;
    jahr := jahr + 1;
  end;

  PlannerMAZeiten.Mode.PeriodStartDay := tag;
  PlannerMAZeiten.Mode.PeriodStartMonth := monat;
  PlannerMAZeiten.Mode.PeriodStartYear := jahr;

  PlannerMAZeiten.Mode.Year := jahr;
  PlannerMAZeiten.Mode.Month := monat;
  PlannerMAZeiten.Mode.Day := tag;

  PlannerMAZeiten.Mode.TimeLineNVUBegin := 0;
  PlannerMAZeiten.Mode.TimeLineNVUEnd := 0;
  PlannerMAZeiten.Mode.TimeLineStart := EncodeDate(jahr, monat, tag);

  // Ende
  erg := monat + 1;
  if (erg > 12) then
  begin
    monat := erg - 12;
    jahr := jahr + 1;
  end
  else
    monat := monat + 1;
 
  PlannerMAZeiten.Mode.PeriodEndDay := tag;
  PlannerMAZeiten.Mode.PeriodEndMonth := monat;
  PlannerMAZeiten.Mode.PeriodEndYear := jahr;

  //ButtonZeitplannerLadenClick(self);
end;

procedure TForm1.PlannerMAZeitenItemLeftClick(Sender: TObject; Item: TPlannerItem);
var datum : tDateTime;
    position : integer;

begin
  datum := item.ItemStartTime;
  position := item.ItemPos;

  ComboBoxPlanungMitarbeiter.ItemIndex := Position;

  selected_date := DatetimeToStr(datum);
  tmp_date := datum;
  start_date := datum;
  end_date := datum;

  EditZeitVon.Text := selected_date;
  EditZeitBis.Text := selected_date;
end;
Marko

Geändert von mkinzler (23. Nov 2015 um 11:21 Uhr) Grund: Delphi-Tag eingefügt
  Mit Zitat antworten Zitat