![]() |
TcxGrid hat keine Verbindung zu den Spaltendaten
Hallo Zusammen,
ich versuch mich grad, vergeblich dran, Daten ordentlich in ein TcxGrid mit einer TcxCustomDataSource im unbound Mode einzustellen. Die Daten zeigt er auch wunderbar an, nur, wenn ich die columns verschiebe, bleiben die daten wo sie waren und wandern nicht mit... Anlage der Columns:
Delphi-Quellcode:
der GetValue sieht wie folgt aus:
procedure TfAnalyse.GenerateColumns;
var i: integer; begin with gtv do begin ClearItems; for I := 0 to ds.FieldCount - 1 do begin with gtv.CreateColumn do //GTV = TcxGridTableView begin databinding.ValueType := ds.FieldTypes[i]; //DS = TcxCustomDataSource Caption := ds.FieldNames[i]; case i of 0: width := 60; 1: width := 70; 2: width := 70; 3: width := 70; 4: Width := 50; 5: Width := 120; end; end; end; DataController.CustomDataSource := ds; end; end;
Delphi-Quellcode:
Wie kann ich TcxGrid überzeugen auch die daten (mit den columns) mit zu verschieben? :gruebel: :gruebel:
function tDS.GetValue(ARecordHandle: TcxDataRecordHandle; AItemHandle: TcxDataItemHandle): Variant;
begin case Integer(AItemHandle) of 0: Result := ReportData.items[Integer(aRecordHandle)].Rating; 1: Result := ReportData.items[Integer(aRecordHandle)].Firma; 2: Result := ReportData.items[Integer(aRecordHandle)].Genre; 3: Result := ReportData.items[Integer(aRecordHandle)].Tag; 4: Result := ReportData.items[Integer(aRecordHandle)].Nummer; 5: Result := ReportData.items[Integer(aRecordHandle)].Bezeichnung; end; end; Herzlichen Dank für Euere Hilfe GG PS: wahrscheinlich hab ich irgendwo 'n kleinen schalter vergessen, aber ich find ihn nicht... :wall: |
Re: TcxGrid hat keine Verbindung zu den Spaltendaten
Jede Spalte hat eine eigene ID, und über die musst Du in der TcxCustomDataSource die Daten holen, und nicht durch die Spaltennummer. Dazu kannst Du die Databinding.Data-Eigenschaft der einzelnen Spalten benutzen (dort eine eindeutige ID zuweisen).
Du überschreibst die Methode im TcxCustomDatsource-Derivat:
Delphi-Quellcode:
Und in der Initialisierung deines TcxGrids weisst Du einfach die 'ID' (also deine Spaltenkennung) der Databinding.Data-Eigenschaft zu.
Function TMycxDataSource.GetItemHandle(AItemIndex: Integer): TcxDataItemHandle; // [protected override]
Var g: TcxCustomGridTableItem; Begin g := TcxCustomGridTableItem(DataController.GetItem(AItemIndex)); Result := TcxDataItemHandle(g.databinding.Data); End;
Delphi-Quellcode:
Fertig. Ach ja, steht auch so in der DevExpress-Hilfe :zwinker:
aColumn.DataBinding.Data := Pointer(aID);
|
Re: TcxGrid hat keine Verbindung zu den Spaltendaten
hallo alzaimar,
danke für die kompetente hilfe. hatte ich nicht in der devExpress hilfe gefunden und die beispiele funktionierten... tja, jetzt weiss ich wonach ich suchen muss.. das pivotgrid läuft halt mit der anderen technik .. tja, andere probleme --> andere lösungen. wünsch dir noch einen schönen abend. GG :cheers: :cheers: :thumb: :thumb: :cheers: :cheers: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:53 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz