Einzelnen Beitrag anzeigen

Benutzerbild von Sherlock
Sherlock

Registriert seit: 10. Jan 2006
Ort: Offenbach
3.798 Beiträge
 
Delphi 12 Athens
 
#1

TAdvStringGrid und Grouping

  Alt 28. Aug 2009, 16:25
Ich würde gerne im AdVStringGrid Gruppieren und als InPlaceEditor Comboboxen verwenden. Das stellt mich vor folgendes Problem:
ComboBoxen müssen über das OnGetEditorType Ereignis festgelgt werden. Momentan mache ich das in einem kleinen Testprojekt ganz naiv über
Delphi-Quellcode:
procedure TForm1.aGridGetEditorType(Sender: TObject; ACol,
  ARow: Integer; var AEditor: TEditorType);
begin
    if ((ACol = 2) or (ACol = 5) or (ACol = 8)) and ((ARow = 10) or (ARow = 20)) then
    begin
      AEditor := edComboList;
      if aGrid.Combobox.Items.Count = 0 then
      begin
        aGrid.ClearComboString;
        aGrid.Combobox.Items.Assign(MyItemList);
      end;
    end;
end;
Das führt dazu, daß an 6 Stellen im Grid ComboBoxen auftauchen die alle den gleichen Inhalt haben (aus Faulheit so gewollt). Und ich bin zufrieden.
Wenn ich nun aber eine Gruppe reduziere, dann stimmt die Abzählerei ja Zeilenweise nicht mehr. Dann werden die Comboboxen plötzlich in unerwarteten Zellen angezeigt.

Wie kann ich das Problem lösen? Meine Idee ist zur Zeit zu ermitteln, welche Gruppe reduziert wurde und wieviele Zeilen dadurch wo weggefallen sind. Das kommt mir aber echt etwas bekloppt vor. Mir wärs ja lieber, die ausgeblendeten rows wären nur versteckt uund noch im Zählbereich....aber es scheint nicht so zu sein.

Schönes Wochenende,
Sherlock
Oliver
  Mit Zitat antworten Zitat