Autor Beitrag
hansa
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 3079
Erhaltene Danke: 9



BeitragVerfasst: Mi 14.05.03 12:47 
Hi,

ich brauche in einem DBgrid für eine Spalte zwei Zeilen untereinander. Die hierfür benötigten zwei Zeilen stellen einen Datensatz dar. Also eine Zeile ist gefüllt, die nächste soll in einer Zeile in einer bestimmten Spalte auch einen Wert anzeigen. Ich habe das mit den RAD-Komponenten und mit EHLIB mal probiert. Hat da jemand Erfahrung mit ? Oder wie könnte man das bewerkstelligen?

_________________
Gruß
Hansa
hansa Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 3079
Erhaltene Danke: 9



BeitragVerfasst: Mi 21.05.03 10:52 
Hi,

weiß keiner was dazu? Soll ich vielleicht doch lieber ein normales Stringgrid nehmen und die DB Sachen da irgendwie reinpacken?

_________________
Gruß
Hansa
bash
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 21



BeitragVerfasst: Sa 24.05.03 22:44 
hi hansa,

es gibt da eine möglichkeit, die zeilenhöhe jedes datensatzes zu veränder! dazu gehst du wie folgt vor:

TDBGrid ist von TCustomGrid abgeleitet. in dieser klasse gibt es ein property RowHeight[index]. Das kannst du verwenden, wenn du dein DBGrid selbst zeichnest. Du erstellst dir eine neue Klasse die du nun von TCustomGrid ableitest und gibst das property RowHeight frei (in TCustom Grid ist dies als protected deklariert):

type
TMyDBGrid = class(TCustomGrid)
private

public
property RowHeight;

Nun wandelst du dein DBGrid explizit in diese Klasse um und setzt dann einen neuen Wert für die Zeilenhöhe:

TMyDBGrid(DBGrid).RowHeight[index] := Neuer Wert

Um das Anzeigen der Zelleninhalte zu verhindert, musst du DefaultDraw in deinem DBGrid auf False setzen. Dann kannst du in deinem Ereignis OnDrawColumnCell das Zeichnen deiner Spalten selber beeinflussen. Da kannst du dann z.b. deine Texte mit DBGrid.Canvas.TextOut zeichnen lassen...
Musst du mal ein wenig rumschauen und spielen um zu erfahren, was alles möglich ist!

Ich hoffe du bist jetzt etwas weiter gekommen...

Bis dann
bash
hansa Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 3079
Erhaltene Danke: 9



BeitragVerfasst: So 25.05.03 03:17 
Hi Bash,

das DefaultDrawing scheint wirklich ein Hindernis zu sein. Der Sache gehe ich mal später nach 8). Der Hinweis ist echt gut. :think: Nur: wie kriege ich das mit dem DataSet hin ? Es geht um ein DataSet und zwei Reihen. hmmm *einschläft*

_________________
Gruß
Hansa