AGB  ·  Datenschutz  ·  Impressum  







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

Devexpress Grid: Focus Cell

Ein Thema von haentschman · begonnen am 21. Feb 2020 · letzter Beitrag vom 25. Feb 2020
Antwort Antwort
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.292 Beiträge
 
Delphi 12 Athens
 
#1

Devexpress Grid: Focus Cell

  Alt 21. Feb 2020, 10:11
Hallöle...

Ich bin wahrscheinlich betriebsblind.

Ich habe:

2 Grids. Die Zeilen sind für alle Columns standardmäßig Editing = False und Focusing = False. (im OI)
Im "Editmode" stelle ich die betreffende Spalte auf Focusing = True und dann wieder zurück. (Visuelle Rückmeldung ob die Spalte gerade "editierbar" ist )
Im ersten Grid funktioniert das perfekt. Im 2. Grid sind alle Spalten Focusing = True (visuell) obwohl nicht gesetzt.

Ich habe schon den QT nach ".Focusing := xxx" durchsucht. Da tauchen nur die Spalten des funktionierenden Grids auf.

Hat jemand noch Ideen?

Nachtrag:
Das funktionierende Grid hängt an einer generischen Objektliste über CustomDatasource. Das nicht funktionierende hängt standardmäßig am DataSet. Das sollte aber keinen Einfluss haben.

Danke...
Miniaturansicht angehängter Grafiken
grid.jpg  

Geändert von haentschman (21. Feb 2020 um 10:42 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.292 Beiträge
 
Delphi 12 Athens
 
#2

AW: Devexpress Grid: Focus Cell

  Alt 23. Feb 2020, 13:29
Moin...
...vorsichtig schieb.
  Mit Zitat antworten Zitat
Benutzerbild von dataspider
dataspider

Registriert seit: 9. Nov 2003
Ort: 04539 Groitzsch
1.350 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Devexpress Grid: Focus Cell

  Alt 23. Feb 2020, 13:44
Die Zeilen sind für alle Columns standardmäßig Editing = False und Focusing = False. (im OI)
Also - bei Verwendung mit DataSat Ist Options.Focusing / Editing aller Columns standardmäßig True, oder habe ich was falsch verstanden?

Frank
Frank Reim
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.292 Beiträge
 
Delphi 12 Athens
 
#4

AW: Devexpress Grid: Focus Cell

  Alt 23. Feb 2020, 18:01
Zitat:
Options.Focusing / Editing aller Columns standardmäßig True
Egal mit welchen Daten, DataSet oder Objektliste, ist Options.Focusing / Editing aller Columns standardmäßig False. Das Grid sieht aber aus als wäre Focusing True...bei jeder Spalte.
  Mit Zitat antworten Zitat
reaktor

Registriert seit: 1. Aug 2012
11 Beiträge
 
#5

AW: Devexpress Grid: Focus Cell

  Alt 24. Feb 2020, 07:38
Habs mal bei mir getestet, da gehts so wie du es erwartest (in deinem ersten Grid). Hab auch ein wenig rumgespielt aber bekomme den Fehler nicht. Du hast CellSelect und InvertSelect an so wie es aussieht, richtig?
Hast du mal im runtime abgefragt ob Focusing bei den Spalten tatsächlich an ist? (wird nicht so ganz klar, ob du das nur im OI überprüfst). Würde tatsächlich am ehesten darauf tippen, dass es im QT irgendwo verstellt wird.

DevExpress Version 19.2.4.
  Mit Zitat antworten Zitat
Benutzerbild von Sinspin
Sinspin

Registriert seit: 15. Sep 2008
Ort: Dubai
614 Beiträge
 
Delphi 10.3 Rio
 
#6

AW: Devexpress Grid: Focus Cell

  Alt 24. Feb 2020, 07:45
Hallo,
mach mal den Dialog als DFM Textansicht auf und vergleiche die Einstellungen für die Grids. Ich habe auch schon Tage damit verbracht nach Unterschieden zu suchen.
Selbst Einstellungen für die DataSource, speziell GridMode, kann merkwürdige Effekte haben.

Ansonsten, such alle im Quelltext geänderten Einstellungen, auch wenn du denkst sie gehören nicht zu deinen Problem , Erstmal auskommentieren.
Stefan
Nur die Besten sterben jung
A constant is a constant until it change.
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.292 Beiträge
 
Delphi 12 Athens
 
#7

AW: Devexpress Grid: Focus Cell

  Alt 24. Feb 2020, 08:36
Moin...
Zitat:
Würde tatsächlich am ehesten darauf tippen, dass es im QT irgendwo verstellt wird.
...ich auch. Aber ich finde es nicht. Mit dem Grid, wo es funktioniert, habe ich entsprechende Zeilen für das Focusing. (rein/raus) Bei dem Grid, was nicht funktioniert, kann ich keine Zeile finden die das Focusing auf True setzt. Dann gilt ja der OI.
Zitat:
mach mal den Dialog als DFM Textansicht auf und vergleiche die Einstellungen für die Grids.
...sind "gleich"... bezüglich Focusing.
Zitat:
Du hast CellSelect und InvertSelect an so wie es aussieht, richtig?
...ja.
Zitat:
Hast du mal im runtime abgefragt ob Focusing bei den Spalten tatsächlich an ist?
das habe ich noch nicht. Aber ich gehe zu 99,9% davon aus.
Zitat:
kann merkwürdige Effekte haben
...da hat DevExpress die Nase vorn. Ich habe mal mir erdreistet, MultiSelect auf False zu setzen. (wird in diesem Grid nicht gebraucht)...Ergebnis: OnChangeSelection wurde nicht mehr ausgelöst. Unlogisch aber asDesigned.

Danke...
  Mit Zitat antworten Zitat
Benutzerbild von Sinspin
Sinspin

Registriert seit: 15. Sep 2008
Ort: Dubai
614 Beiträge
 
Delphi 10.3 Rio
 
#8

AW: Devexpress Grid: Focus Cell

  Alt 24. Feb 2020, 09:04
Hallo, ich meinte alle Einstellungen vergleichen. Denn Focusing hängt von einer ganzen Reihe von Sachen ab.
-> OptionsSelection, OptionsData und Column.Options.

Was für eine View verwendest Du, TableView oder BandedTableView?
Stefan
Nur die Besten sterben jung
A constant is a constant until it change.
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.292 Beiträge
 
Delphi 12 Athens
 
#9

AW: Devexpress Grid: Focus Cell

  Alt 24. Feb 2020, 09:49
Danke an Alle...

Manchmal muß man nur drüber reden...
Zitat:
Hast du mal im runtime abgefragt ob Focusing bei den Spalten tatsächlich an ist?
...war der entscheidende Hinweis. Ich habe ein Rechtesystem was entsprechend dem Recht die Colums setzt. (Quasi optisch edtitierbar oder nicht - über Focused)
Delphi-Quellcode:
class procedure TToolsForms.SetAndVisualEnabledState(Item: TdxLayoutItem; NewState: Boolean; NewVisible: Boolean = True);

  function HasItemGridView: Boolean;
  var
    J: Integer;
    Grid: TcxGrid;
    View: TcxGridTableView;

    procedure SetGridColumsState(Enabled: Boolean);
    var
      I: Integer;
      Column: TcxGridColumn;
    begin
      for I := 0 to View.ColumnCount - 1 do
      begin
        Column := View.Columns[I];
        Column.Options.Focusing := Enabled; //evt. and (Column.Tag = 1);
      end;
    end;

  begin
    Result := False;
    if Item.Control is TcxGrid then
    begin
      Result := True;
      Grid := TcxGrid(Item.Control);
      for J := 0 to Grid.ViewCount - 1 do
      begin
        View := TcxGridTableView(Grid.Views[J]);
        SetGridColumsState(NewState);
        if NewState then
        begin
          View.Styles.Background := nil;
          View.Styles.Selection := dmStyle.cxStyleYellowLight;
        end
        else
        begin
          View.Styles.Background := dmStyle.cxStyleDisabledBackground;
          View.Styles.Selection := dmStyle.cxStyleNature;
        end;
      end;
    end;
  end;

begin
  Item.Visible := NewVisible;
  if not HasItemGridView then // ist eine View -> dann nur Farben tauschen statt disabled
  begin
    Item.Enabled := NewState;
  end;
end;
Was ich übersehen hatte, daß die Grids, die nur einzelne Spalten zum Editieren "freigeben" haben, das Flag "only ReadOnly" brauchen. Das wollte ich über den Tag regeln. Wenn aber die Zeile nicht einkommentiert ist, kann das auch nicht funktionieren. Den Teil hatte ich aber ohne Prüfung als funktionierend eingestuft.



PS: Warum hat das andere Grid funktioniert? Weil alle Spalten entsprechend dem Recht "focusiert" waren. Bei dem anderen Grid waren Spalten dabei die immer nicht Focused sein sollten. Darum ist das aufgefallen.

Geändert von haentschman (24. Feb 2020 um 10:08 Uhr)
  Mit Zitat antworten Zitat
reaktor

Registriert seit: 1. Aug 2012
11 Beiträge
 
#10

AW: Devexpress Grid: Focus Cell

  Alt 25. Feb 2020, 07:35
Freut mich, dass du es lösen konntest!
  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 17:38 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