Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.226 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?
$2B or not $2B
  Mit Zitat antworten Zitat