Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.306 Beiträge
 
Delphi 12 Athens
 
#2

AW: TcxCheckComboBoxProperties und veränderliche Items

  Alt 1. Aug 2012, 07:59
Hab nach langem Suchen geheime Events gefunden (geheim = die sind nicht im OI sichtbar)
und angefangen diese zu benutzen.

Delphi-Quellcode:
procedure TFormSyncro2.ValueToCheckStatesEvent(Sender: TObject; const AValue: TcxEditValue; var ACheckStates: TcxCheckStates);
var
  i: Integer;
  SL: TStringList;
begin
  if VarIsNull(AValue) then begin
    for i := 0 to High(ACheckStates) do
      ACheckStates[i] := cbsChecked;
    Exit;
  end;
  SL := TStringList.Create;
  try
    SL.CommaText := AValue;
    for i := 0 to High(ACheckStates) do
      if SL.IndexOf(((Sender as TcxCheckComboBoxProperties).Items[i] as TcxCheckComboBoxItem).Description) >= 0 then
        ACheckStates[i] := cbsChecked
      else
        ACheckStates[i] := cbsUnchecked;
  finally
    SL.Free;
  end;
end;

procedure TFormSyncro2.CheckStatesToValueEvent(Sender: TObject; const ACheckStates: TcxCheckStates; out AValue: TcxEditValue);
var
  S: string;
  i: Integer;
begin
  S := '';
  for i := 0 to High(ACheckStates) do
    if ACheckStates[i] = cbsChecked then
      S := S + IfThen(S <> '', ',', '') + TcxCheckComboBoxItem((Sender as TcxCheckComboBoxProperties).Items[i]).Description;
  if S <> 'then
    AValue := S
  else
    AValue := NULL;
end;
Was so erstmal nicht geht, dann irgendwer ist auf die saublöde Idee gekommen und läßt den Sender leer (nil).
Soll man das etwa für jedes Feld das einzeln implementieren?
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat