AGB  ·  Datenschutz  ·  Impressum  







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

Erste sichtbare Spalte in einem DBGrid

Ein Thema von MarkusB · begonnen am 8. Okt 2006 · letzter Beitrag vom 8. Okt 2006
Antwort Antwort
MarkusB

Registriert seit: 3. Apr 2004
Ort: Hamburg
105 Beiträge
 
#1

Erste sichtbare Spalte in einem DBGrid

  Alt 8. Okt 2006, 17:36
Moin, moin!

Wie ermittle ich den Index der ersten sichtbaren Spalte in einem DBGrid, nach der Verschiebung der horizontalen Scrollbar?

DF cross post
DSDT cross post

Viele Grüße
Markus
  Mit Zitat antworten Zitat
rider

Registriert seit: 12. Aug 2006
90 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: Erste sichtbare Spalte in einem DBGrid

  Alt 8. Okt 2006, 18:17
Die saubere Lösung wäre eine eigene Komponente von TDBGrid abzuleiten und die Properties LeftCol und FixedCols als readonly sichtbar zu machen.

Die quick&dirty Methode sieht so aus:
Delphi-Quellcode:
var
  Idx: Integer; // erster sichtbarer Spaltenindex
begin
  Idx := TStringGrid(DBGrid1).LeftCol - TStringGrid(DBGrid1).FixedCols;
  Mit Zitat antworten Zitat
MarkusB

Registriert seit: 3. Apr 2004
Ort: Hamburg
105 Beiträge
 
#3

Re: Erste sichtbare Spalte in einem DBGrid

  Alt 8. Okt 2006, 19:47
Moin, moin!

Ich habe Ähnliches versucht mit „typecast“ des TDBGrids in den TCustomDBGrid und TCustomGrid. Beide sind Vorfahren des TDBGrids. Meine Versuche sind leider erfolglos geblieben. Das was mit direkten Vorfahren nicht funktionierte, funktioniert nun mit dem „typecast“ in einen Verwandten, den TStringGrid. Eigentlich habe ich das noch nicht so richtig geschnallt, wieso. Der TStringGrid steht in keinem Verhältnis zu TDBGrid bis auf das, das die beiden einen gemeinsamen Vorfahren haben (TCustomGrid).

Danke!

Viele Grüße
Markus
  Mit Zitat antworten Zitat
rider

Registriert seit: 12. Aug 2006
90 Beiträge
 
Delphi 10.4 Sydney
 
#4

Re: Erste sichtbare Spalte in einem DBGrid

  Alt 8. Okt 2006, 20:04
Beide stammen von TCustomGrid ab. Dort sind die entsprechenden Properties allerdings noch protected, deshalb funktioniert der Typecast nur mit einer "höheren" Klasse, wo die Properties dann als public deklariert sind.

Wie gesagt, es wäre "sauberer" eine eigene Klasse von TDBGrid oder TCustomDBGrid abzuleiten, um dort selbst die Properties auf public zu setzen.
  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 16:59 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