AGB  ·  Datenschutz  ·  Impressum  







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

cxGrid

Ein Thema von Sugar · begonnen am 14. Mär 2016 · letzter Beitrag vom 14. Mär 2016
Antwort Antwort
Sugar

Registriert seit: 23. Jul 2012
83 Beiträge
 
#1

AW: cxGrid

  Alt 14. Mär 2016, 14:00
Hi, erstmal danke für die Ansätze. Allerdings ist mein Problem nicht, ein Style zu entwerfen, sondern explizit den Inhalt eines Datenfeld zu ermitteln und DANN diese eine Zeile einzufärben (oder einen Style zuzuweise)

Ums mal Platt auszudrücke:

Ist in der ersten Spalte der String "XY" dann nehme Style XY

Mein Ansatz (der m.E, auch schon in anderen Prjekten funktioniert hat):
Delphi-Quellcode:
procedure THauptForm.RepDruckViewCustomDrawCell(
  Sender: TcxCustomGridTableView; ACanvas: TcxCanvas;
  AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean);
  Var I:Integer;
begin

  if (AViewInfo.GridRecord.Values[0] = 'F') then
  showmessage('HUHU');
end;
Ich bekomme hier aber eine Fehlermeldung "Index out of Range'"

Geändert von TBx (15. Mär 2016 um 04:29 Uhr) Grund: Delphi-Tags eingefügt
  Mit Zitat antworten Zitat
TheFrog

Registriert seit: 24. Mär 2009
145 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: cxGrid

  Alt 14. Mär 2016, 14:05
Du hast doch die Möglichkeit, über den TcxCustomGridRecord an die Werte zu gelangen:


Delphi-Quellcode:
    Col := GetColumnByFieldName('FeldABC');

    if Assigned(Col) then
    begin

      FieldValue := ARecord.Values[Col.Index];
Damit solltest Du an den Wert einer bestimmten Spalte für die aktuelle Zeile kommen.
  Mit Zitat antworten Zitat
vagtler

Registriert seit: 9. Jul 2010
Ort: Köln
667 Beiträge
 
Delphi 2010 Professional
 
#3

AW: cxGrid

  Alt 14. Mär 2016, 14:05
Der Ansatz ist in dem von mir genannten Link ausgeführt. Woran scheitert es genau?
  Mit Zitat antworten Zitat
Benutzerbild von uligerhardt
uligerhardt
Online

Registriert seit: 19. Aug 2004
Ort: Hof/Saale
1.749 Beiträge
 
Delphi 2007 Professional
 
#4

AW: cxGrid

  Alt 14. Mär 2016, 14:16
Hier ein Sample von denen, die es wissen sollten, wenn du es uns nicht glaubst:
https://www.devexpress.com/Support/C...etails/T334829
Uli Gerhardt
  Mit Zitat antworten Zitat
Sugar

Registriert seit: 23. Jul 2012
83 Beiträge
 
#5

AW: cxGrid

  Alt 14. Mär 2016, 14:27
@vagtler:

hier: if RepDruckView.ViewData.Rows[i].Values[1] = 'F' then....

Hier kommt die Fehlermeldung "Invalid DataControllerOperation" ... RecordIndex out of rnage"....
  Mit Zitat antworten Zitat
vagtler

Registriert seit: 9. Jul 2010
Ort: Köln
667 Beiträge
 
Delphi 2010 Professional
 
#6

AW: cxGrid

  Alt 14. Mär 2016, 14:50
[...] hier: if RepDruckView.ViewData.Rows[i].Values[1] = 'F' then.... [...]
Das war die Problemstellung, nicht die Lösung...

Kleiner Tipp: Vielleicht sollte man auch die Antworten lesen...
  Mit Zitat antworten Zitat
Sugar

Registriert seit: 23. Jul 2012
83 Beiträge
 
#7

AW: cxGrid

  Alt 14. Mär 2016, 15:01
[...] hier: if RepDruckView.ViewData.Rows[i].Values[1] = 'F' then.... [...]
Das war die Problemstellung, nicht die Lösung...

Kleiner Tipp: Vielleicht sollte man auch die Antworten lesen...
Ich fühe mich grad wie dein Icon!!! Ich raffe es scheinbar nicht... Hilf mir?
  Mit Zitat antworten Zitat
Benutzerbild von uligerhardt
uligerhardt
Online

Registriert seit: 19. Aug 2004
Ort: Hof/Saale
1.749 Beiträge
 
Delphi 2007 Professional
 
#8

AW: cxGrid

  Alt 14. Mär 2016, 15:21
Hier ein leicht verändertes Zitat aus einem DevEx-Support-Case:
Delphi-Quellcode:
procedure TForm2.cxGrid1DBTableView1StylesGetContentStyle(
  Sender: TcxCustomGridTableView; ARecord: TcxCustomGridRecord;
  AItem: TcxCustomGridTableItem; var AStyle: TcxStyle);
begin
  if ARecord.Values[SomeColumn.Index] > 1500 then
  begin
    AStyle := DeinCxStyle;
  end;
end;
DeinCxStyle ist ein von dir angelegter Style, üblicherweise aus einem cxStyleRepository. SomeColumn ist eine Spalte, deren Wert du auslesen möchtest - die aktuelle Spalte wäre AItem. Die Bedingung (> 1500) musst du natürlich an deine Zwecke anpassen.
Uli Gerhardt
  Mit Zitat antworten Zitat
Benutzerbild von juergen
juergen

Registriert seit: 10. Jan 2005
Ort: Bönen
1.176 Beiträge
 
Delphi 11 Alexandria
 
#9

AW: cxGrid

  Alt 14. Mär 2016, 21:39
Hallo,

hier ist auch noch eine Lösung: Klick
Jürgen
Indes sie forschten, röntgten, filmten, funkten, entstand von selbst die köstlichste Erfindung: der Umweg als die kürzeste Verbindung zwischen zwei Punkten. (Erich Kästner)
  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:41 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