Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi DBGrid Selected Rows: Abgewählte Zeile bleibt markiert? (https://www.delphipraxis.net/68093-dbgrid-selected-rows-abgewaehlte-zeile-bleibt-markiert.html)

Loki77 25. Apr 2006 08:09

Re: DBGrid Selected Rows: Abgewählte Zeile bleibt markiert?
 
Morgen!
Kann mir vielleicht jemand ´ne gute alternative zum DBGrid empfehlen in der
dieses Problem nicht auftritt?
Ne´Lösung mit DBGrid wäre natürlich noch besser, aber wenn´s nicht anders geht...

Gruss Philipp

marabu 25. Apr 2006 08:49

Re: DBGrid Selected Rows: Abgewählte Zeile bleibt markiert?
 
Hallo Philipp,

wo ist dein Problem? Du überträgst deine Erfahrung (Pfeil = current selected row) auf ein DBGrid mit MultiSelect und das ist nicht korrekt. Hier ist ein Pfeil (es gibt zwei Darstellungen des Pfeils) nur der Zeiger für die current row - ein Punkt markiert eine selektierte Row. Wenn du ein DBGrid nur in der MainForm verwendest und die Option MultiSelect während der Laufzeit nicht verstellst, dann gibt es auch keine Irritation auf Seiten des Benutzers.

Freundliche Grüße vom marabu

Loki77 25. Apr 2006 09:08

Re: DBGrid Selected Rows: Abgewählte Zeile bleibt markiert?
 
Zitat:

wo ist dein Problem?
Das Problem ist dass der Anwender eine Zeile mit "Highlight" als selektiert ansieht, ob
sie es jetzt ist oder nicht.
Da ich ausserhalbe der IDE auf den Indikator verzichte ist es für den Anwender auch nicht
ersichtlich.

Zitat:

Wenn du ein DBGrid nur in der MainForm verwendest und die Option MultiSelect während der Laufzeit nicht verstellst, dann gibt es auch keine Irritation auf Seiten des Benutzers.
Doch. Denn Falls die zuletzt selektierte Zeile auch die letzte ist die der Anwender
anklickt, dann bleibt das "Highlight" erhalten, auch wenn er/sie ein zweites mal darauf klickt
um sie abzuwählen. In diesem Moment ist nicht mehr ersichtlich ob die Zeile nun gewählt ist oder nicht.

Sollte der Anwender eine andere oder weitere Zeile anwählen, so wird dieses "Highlight" aufgehoben.
Falls nicht: -> mein Problem...

marabu 26. Apr 2006 13:22

Re: DBGrid Selected Rows: Abgewählte Zeile bleibt markiert?
 
Das mit dem abgeschalteten Indicator ist jetzt aber neu - oder habe ich so ungenau gelesen?

Eines könntest du noch versuchen: Setze DBGrid.DefaultDrawing auf FALSE und wähle eine eigene Farbe für die selektierten Datensätze im Gitter:

Delphi-Quellcode:
procedure TDemoForm.DBGridDrawColumnCell(Sender: TObject;
  const Rect: TRect; DataCol: Integer; Column: TColumn;
  State: TGridDrawState);
var
  Index: Integer;
begin
  with Sender as TDBGrid do
  begin
    if SelectedRows.Find(Column.Field.DataSet.Bookmark, Index) then
    begin
      Canvas.Brush.Color := clBlue;
      Canvas.FillRect(Rect);
    end;
    DefaultDrawColumnCell(Rect, DataCol, Column, State);
  end;
end;
Grüße vom marabu

Loki77 26. Apr 2006 14:52

[Erl]DBGrid Selected Rows: Abgewählte Zeile bleibt markiert?
 
Vielen Dank!
Ist eine gute Idee! Hab´sogar kürzlich erst ´n Thread dazu gelesen, kam
aber nicht drauf es für mein Problem zu nutzen...

Gruss Philipp


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:01 Uhr.
Seite 2 von 2     12   

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