Hallo zusammen,
ich verwende in Delphi XE eine TADVStringrid und möchte nun in dieser folgendes realisieren
- Spalte 2 und 3 (können auch mehr sein) enthalten Werte, die nicht einzeln editiert werden können. Diese Werte sollen alle über eine ComboBox-Liste ausgewählt werden
- d.h. egal ob ich Spalte 2 oder 3 anklicke, geht immer unter Spalte 2 eine zweispaltige ComboBox auf
- Sobald ich einen Eintrag ausgewählt habe, wird der Wert aus Combo-Spalte 1 in Spalte 2 geschrieben und der Wert aus CB 2 in Grid 3
Hat jemand eine Idee, wie sich das mit Bordmitteln der ADV realisieren lässt.
Der Einstiegscode ist
Delphi-Quellcode:
procedure TForm4.bt3Click(Sender: TObject);
var
dc: TDropDownColumn;
di: TDropDownItem;
begin
dc := sg2.GridDropDown.Columns.Add;
dc.ColumnType := ctText;
dc := sg2.GridDropDown.Columns.Add;
dc.ColumnType := ctText;
di := sg2.GridDropDown.Items.Add;
di.Text.Add('
Text 1');
di.Text.Add('
Add zu Text1');
di := sg2.GridDropDown.Items.Add;
di.Text.Add('
Text 2');
di.Text.Add('
Add zu Text2');
di := sg2.GridDropDown.Items.Add;
di.Text.Add('
Text 3');
di.Text.Add('
Add zu Text3');
sg2.GridDropDown.LookupColumn := 1;
// Damit fehlt aber der Text in Splate 3
end;
procedure TForm4.sg2GetEditorType(Sender: TObject; ACol, ARow: Integer;
var AEditor: TEditorType);
begin
if ACol
in [2, 3]
then
AEditor := edGridDropDown;
// Hier sollte Code hin, der vorgiebt, dass Spalte 2 angewählt
end;