vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Schützen Sie Ihre Software vor Software-Piraterie - mit sevLock 1.0 DLL!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Fragen & Antworten rund um sev-Komponenten
ScreenRows, RowHeight und tolle Fragen...  
Autor: Reinski
Datum: 13.03.05 20:49

Hallo zusammen,

bei mir tritt leider sporadisch das Problem im sevDataGrid2 auf, dass die unterste sichtbare Zeile im SevDataGrid2 (welches dynamisch zur Laufzeit in der Höhe ans Form (Resize-Ereignis) angepasst wird) nur zum Teil dargestellt wird.
Manchmal ist diese Teil-Zeile jedoch ganz leer, obwohl noch Zeilen folgen.
Wenn ich in diesem Fall nach unten scrolle, bleibt die Zeile leer, d.h. ich habe dann mitten im Grid eine leere Zeile!

Das Grid ist Version 2.0.22 und im RecordsetMode betrieben.
Die Filterzeile ist sichtbar und die ScrollBars stehen auf SB_Auto. (Wobei ich nicht denke, dass es damit zusammen hängt.)

Da ich das ganze nicht in einem Beispielprojekt reproduzieren kann, habe ich versucht, einen Workaround zu finden, wofür die ScreenRows-Eigenschaft am naheliegendsten ist.
Meine Vorgehensweise im Form_Resize Ereignis war, erst das Grid auf die optimale Höhe zu setzen und dann den ScreenRows-Wert einfach neu zu setzen.
'Optimale Höhe setzen:
grdArticle.Height = ScaleHeight - 3 * grdArticle.Top - btnEditModeStart.Height
'Workaround for empty-row-bug:
grdArticle.Refresh  'aktualisiert die ScreenRows Eigenschaft
grdArticle.ScreenRows = grdArticle.ScreenRows  'passt die Höhe an
Das Problem hier ist aber, dass die teilweise angezeigte Zeile mit zu den sichtbaren Zeilen zählt, also i.d.R. um eins zu groß ist. Ich möchte aber auch nicht pauschal um eins reduzieren, denn dann fehlt die Zeile auch, wenn sie gerade noch so komplett dargestellt werden könnte.

In meinem Dilemma suche ich nun nach einem Weg, die ScreenRows 'von Hand' zu berechnen, nach dem Prinzip
grdArticle.ScreenRows = Int(grdArticle.Height / (grdArticle.RowHeight + 2 * _
  grdArticle.CellSpacingV) _
                            - grdArticle.CaptionHeight - _
                            grdArticle.ColumnHeaderHeight)
was aber leider absolut nicht hinhaut.
Was mache ich falsch? Muss ich die grdArticle.Height irgendwie umrechnen? Ich benutze keinerlei besonderen Maße (alles Standardeinstellung)...
Wäre toll, wenn mir da jemand weiter helfen könnte, oder vielleicht kennt ja auch jemand das eigentliche Problem (mit der leeren Zeile) und hat dafür eine Lösung.
Viele Grüße!

Reinski

Immer noch auf der Suche nach dem "Tu's trotzdem"-Button...

alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
ScreenRows, RowHeight und tolle Fragen... 611Reinski13.03.05 20:49
Re: ScreenRows, RowHeight und tolle Fragen... 389Reinski14.03.05 00:01
Re: ScreenRows, RowHeight und tolle Fragen... 605Reinski14.03.05 11:28

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel