AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi TcxGrid hat keine Verbindung zu den Spaltendaten
Thema durchsuchen
Ansicht
Themen-Optionen

TcxGrid hat keine Verbindung zu den Spaltendaten

Ein Thema von grenzgaenger · begonnen am 16. Mär 2008 · letzter Beitrag vom 16. Mär 2008
Antwort Antwort
grenzgaenger
(Gast)

n/a Beiträge
 
#1

TcxGrid hat keine Verbindung zu den Spaltendaten

  Alt 16. Mär 2008, 16:06
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:
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;
der GetValue sieht wie folgt aus:
Delphi-Quellcode:
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;
Wie kann ich TcxGrid überzeugen auch die daten (mit den columns) mit zu verschieben?

Herzlichen Dank für Euere Hilfe
GG

PS: wahrscheinlich hab ich irgendwo 'n kleinen schalter vergessen, aber ich find ihn nicht...
  Mit Zitat antworten Zitat
alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#2

Re: TcxGrid hat keine Verbindung zu den Spaltendaten

  Alt 16. Mär 2008, 16:40
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:
Function TMycxDataSource.GetItemHandle(AItemIndex: Integer): TcxDataItemHandle; // [protected override]
Var
  g: TcxCustomGridTableItem;

Begin
  g := TcxCustomGridTableItem(DataController.GetItem(AItemIndex));
  Result := TcxDataItemHandle(g.databinding.Data);
End;
Und in der Initialisierung deines TcxGrids weisst Du einfach die 'ID' (also deine Spaltenkennung) der Databinding.Data-Eigenschaft zu.

aColumn.DataBinding.Data := Pointer(aID); Fertig. Ach ja, steht auch so in der DevExpress-Hilfe
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat
grenzgaenger
(Gast)

n/a Beiträge
 
#3

Re: TcxGrid hat keine Verbindung zu den Spaltendaten

  Alt 16. Mär 2008, 20:32
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

  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:51 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz