AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi DBGrid, Spalten fixieren
Thema durchsuchen
Ansicht
Themen-Optionen

DBGrid, Spalten fixieren

Offene Frage von "Mario"
Ein Thema von Mario · begonnen am 22. Jul 2004 · letzter Beitrag vom 22. Jul 2004
Antwort Antwort
Mario

Registriert seit: 7. Apr 2003
567 Beiträge
 
Delphi 2006 Enterprise
 
#1

DBGrid, Spalten fixieren

  Alt 22. Jul 2004, 09:40
Ich haben ein DBGrid auf meiner Datenbank liegen, ReadOnly, RowSelect, AlwaysShowSelection.

Ich möchte gern die ersten vier Spalten fixieren, dass diese halt beim rechts rüber scrollen stehen bleiben. Weiß jemand, wie ich sowas umsetzen könnte?

Momentan habe ich dafür zwei Grids auf der Datenmenge, aber ich warte richtig auf den Tag, wo beide Dinger mal nicht mehr sauber in einer Zeile laufen.
Schöne Grüße,
Mario Noack
  Mit Zitat antworten Zitat
Benutzerbild von Sourcemaker
Sourcemaker

Registriert seit: 3. Sep 2003
Ort: Westoverledingen
264 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: DBGrid, Spalten fixieren

  Alt 22. Jul 2004, 10:15
JvDBGrid von Jedi hat die Eigenschaft FixedCols.

Grüße

Frank
Frank
  Mit Zitat antworten Zitat
Benutzerbild von Stevie
Stevie

Registriert seit: 12. Aug 2003
Ort: Soest
4.008 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#3

Re: DBGrid, Spalten fixieren

  Alt 22. Jul 2004, 10:28
TStringGrid(DbGrid1).FixedCols := 4;
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight
  Mit Zitat antworten Zitat
Mario

Registriert seit: 7. Apr 2003
567 Beiträge
 
Delphi 2006 Enterprise
 
#4

Re: DBGrid, Spalten fixieren

  Alt 22. Jul 2004, 11:20
@Stevie: Leider wird der Bereich, welcher fixed ist, nur unregelmäßig gezeichnet und bleibt oft leer, gerade beim Scroll. Schade, sonst wäre dies mir die liebst Lösung.

@Frank: Das Grid werde ich morgen mal probieren. Danke.
Schöne Grüße,
Mario Noack
  Mit Zitat antworten Zitat
Benutzerbild von Stevie
Stevie

Registriert seit: 12. Aug 2003
Ort: Soest
4.008 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#5

Re: DBGrid, Spalten fixieren

  Alt 22. Jul 2004, 11:35
Zitat von Mario:
@Stevie: Leider wird der Bereich, welcher fixed ist, nur unregelmäßig gezeichnet und bleibt oft leer, gerade beim Scroll. Schade, sonst wäre dies mir die liebst Lösung.
Au, das sieht ja echt etwas übel aus. Ich hatte den Tip mal beim SwissDelphiCenter gesehen, aber nicht ausprobiert. Schade!
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight
  Mit Zitat antworten Zitat
Benutzerbild von MaBuSE
MaBuSE

Registriert seit: 23. Sep 2002
Ort: Frankfurt am Main (in der Nähe)
1.837 Beiträge
 
Delphi 10 Seattle Enterprise
 
#6

Re: DBGrid, Spalten fixieren

  Alt 22. Jul 2004, 17:03
Zitat von Stevie:
TStringGrid(DbGrid1).FixedCols := 4;
Implementiert ist FixedCols in TCustomGrid.

Delphi-Quellcode:
  TCustomGrid = class(TCustomControl)
  ...
  protected
    property FixedCols: Integer read FFixedCols write SetFixedCols default 1;
  ...
Du kannst also ein eigenes DBGrid ableiten und diese Eigenschaft sichtbar machen:
(getestet habe ich es nicht)

Delphi-Quellcode:
unit myDBGrid;

interface

uses
  SysUtils, Classes, Controls, Grids, DBGrids;

type
  TmyDBGrid = class(TDBGrid)
  private
    { Private-Deklarationen }
  protected
    { Protected-Deklarationen }
  public
    { Public-Deklarationen }
  published
    { Published-Deklarationen }
    property FixedCols;
  end;

procedure Register;

implementation

procedure Register;
begin
  RegisterComponents('Beispiele', [TmyDBGrid]);
end;

end.
(°¿°) MaBuSE - proud to be a DP member
(°¿°) MaBuSE - proud to be a "Rüsselmops" ;-)
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#7

Re: DBGrid, Spalten fixieren

  Alt 22. Jul 2004, 17:20
Man könnte doch einfach wieder zurücktauschen:
Delphi-Quellcode:
procedure TForm1.DBGrid1ColumnMoved(Sender: TObject; FromIndex,
  ToIndex: Integer);
begin
   // liegt Quelle oder Ziel Column zwischen 0 und 3 ?
   if (ToIndex < 4) or (FromIndex< 4) then
   begin
      // zurücktauschen
      DBGrid1.Columns.Items[ToIndex].Index := FromIndex;
   end;
end;
Andreas
  Mit Zitat antworten Zitat
Mario

Registriert seit: 7. Apr 2003
567 Beiträge
 
Delphi 2006 Enterprise
 
#8

Re: DBGrid, Spalten fixieren

  Alt 22. Jul 2004, 18:34
@mabuse: Dein Vorschlag ist richtig, aber die Property konnte ich ja setzen. Nur leider ist sie beim DBGrid nicht umsonst noch verborgen

@shmia: Ich habe es probiert, scheinbar verhindere ich damit das Tauschen der Spalten. Das war leider auch nicht das Problem. Ich möchte beim horizontalen Scrollen ein paar Spalten zu Begin immer sichtbar halten.
Schöne Grüße,
Mario Noack
  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 12:08 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