AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

DevExpress, Grid Zugriff

Ein Thema von Der Jan · begonnen am 17. Feb 2006 · letzter Beitrag vom 2. Mär 2006
Antwort Antwort
Benutzerbild von Der Jan
Der Jan

Registriert seit: 22. Dez 2005
289 Beiträge
 
Delphi XE7 Ultimate
 
#1

DevExpress, Grid Zugriff

  Alt 17. Feb 2006, 16:01
Hallo zusamm,

ich hab da ein Problem, ich schiebs zu 50% darauf das es schon Freitag nachmittag ist und vermutlich wer auf der Leitung steht.
Also: Ich hab ein cxGrid mit 3 Spalten und möchte eigentlich nicht mehr tun, als die Daten der ausgewählten Zeile auslesen, aber irgendwie check ichs nicht und die OH hilft auch nicht so wirklich.

Delphi-Quellcode:
procedure TfrmDiagnose.tvTeileCellClick(Sender: TcxCustomGridTableView;
  ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton;
  AShift: TShiftState; var AHandled: Boolean);
var
  iRecord: integer;
  tRecord: TcxCustomGridRecord;
begin
  if(AButton <> mbLeft) then
    exit;

  tRecord := tvTeile.Controller.FocusedRecord;
  edtArtNr.Text := tRecord.DisplayTexts[0];
  edtBezeichnung.Text := tRecord.DisplayTexts[1]; //* Fehler
  edtArtPreis.Text := tRecord.DisplayTexts[2];

// Oder als Alternative, gibt ja mehrere Wege...

  iRecord := ACellViewInfo.GridRecord.RecordIndex; // oder tvTeile.DataController.FocusedRecordIndex;
  edtArtNr.Text := tvTeile.DataController.Values[iRecord, 0];
  edtBezeichnung.Text := tvTeile.DataController.Values[iRecord, 1]; //* Fehler
  edtArtPreis.Text := tvTeile.DataController.Values[iRecord, 2];
end;
Bei (* Fehler) kommt "Record Index out of range"...

Wer weiß Rat?
Gruß, Jan
  Mit Zitat antworten Zitat
Benutzerbild von Der Jan
Der Jan

Registriert seit: 22. Dez 2005
289 Beiträge
 
Delphi XE7 Ultimate
 
#2

Re: DevExpress, Grid Zugriff

  Alt 18. Feb 2006, 21:41
*nachobenschieb*
Gruß, Jan
  Mit Zitat antworten Zitat
Benutzerbild von AirJordan
AirJordan

Registriert seit: 29. Mär 2005
Ort: Hamburg
214 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: DevExpress, Grid Zugriff

  Alt 19. Feb 2006, 10:54
Hallo Jan,

das viele Durchprobieren für das Auslesen von Zellen beim DevExpress QuantumGrid habe ich auch schon durch.
Probiere mal das:

Delphi-Quellcode:
ColIndex := tvTeile.DataController.GetItemByFieldName('<der Feldname>').Index;

[..]

with cxDeinGrid.FocusedView.DataController do
begin
  RecIdx := GetFocusedRecordIndex;
  edtArtNr.Text := GetValue(RecIdx,ColIndex);
end;

[..]
Hoffe es klappt so. Auch wenn Heute schon Sonntag ist.
Holger
Georg Schramm über Lothar Dombrowski:
"Er krankt daran, dass die Leute in einer
schrecklichen Welt leben und lachen..."

_
  Mit Zitat antworten Zitat
Benutzerbild von Der Jan
Der Jan

Registriert seit: 22. Dez 2005
289 Beiträge
 
Delphi XE7 Ultimate
 
#4

Re: DevExpress, Grid Zugriff

  Alt 2. Mär 2006, 12:04
Danke für die Antwort.

Leider klappt das so auch nicht, es kommt wieder beim zweiten Zugriff die Fehlermedlung "Record index out of range"
Interessanterweise "Recordindex" nicht Field oder Columnindex.
habs mal auseinandergebastelt:
Delphi-Quellcode:
  
  with tvTeile.DataController do begin
    aColIndex[0] := GetItemByFieldName('ARTIKELNUMMER').Index;
    aColIndex[1] := GetItemByFieldName('ARTIKELBESCHREIBUNG').Index;
    aColIndex[2] := GetItemByFieldName('VPNETTO').Index;
  end;
  with grdTeile.FocusedView.DataController do begin
    iRecord := GetFocusedRecordIndex;
    edtArtNr.Text := GetValue(iRecord, aColIndex[0]);
    edtBezeichnung.Text := GetValue(iRecord, aColIndex[1]); //Hier kommt immernoch der fehler
    edtArtPreis.Text := GetValue(iRecord, aColIndex[2]);
  end;
Ersetze ich jetzt iRecord durch 0 (ist zwar programmtechnisch umfug, aber zum testen) kommt kein Fehler.
Schon mysteriös...
Gruß, Jan
  Mit Zitat antworten Zitat
Benutzerbild von Der Jan
Der Jan

Registriert seit: 22. Dez 2005
289 Beiträge
 
Delphi XE7 Ultimate
 
#5

Re: DevExpress, Grid Zugriff

  Alt 2. Mär 2006, 13:42


Er hat es...

Es funktionieren alle Varianten. Das Problem war gaaanz wo anders. Das EditFeld edtArtNr löste beim OnChange ne inkrementelle Suche aus, welche wiederum das cxGrid beeinflußte, so das der Recordindex nimmer stimmte Hatte einfach vergessen ein Flag zu setzen...
Gruß, Jan
  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 06:24 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