vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
sevAniGif - als kostenlose Vollversion auf unserer vb@rchiv CD Vol.5  
 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
Re: sevdatagrid Combobox(List) gebundene Spalte - festgestellte Ungereimtheiten 
Autor: gtu
Datum: 21.06.04 12:50


Hallo Dieter,

wie versprochen habe ich mich am Wochenende intensiv mit meinem Problem der falschen Anzeige beschäftigt und habe mit Abstrichen diese umgehen können. Dabei bin auf interessante Dinge gestossen. Und diese möchte ich jetzt in einzelnen schildern (ich betrachte dies im wesentlichen aus dem Blickwinkel der Simulierung der gebundenen Spalte). Ich hoffe, diese Ungereimtheiten können spätestens in der nächsten Version behoben werden.

Bei dieser Gelegenheit möchte ich nicht versäumen, auch ein Lob auszusprechen. Ich arbeite zwar noch nicht lange mit diesem Grid aber ich habe es schon schätzen gelernt.
Ich glaube, dass mit Version 2 und den mehr oder weniger angedeuteten neuen Features - ich hoffe auch auf eine Unterstützung einer "ComboBox mit gebundener Spalte " - eine weitere Steigerung eintreten wird und freue mich schon jetzt darauf.

Günther





Methode .Refresh

Wenn im [u]Form.Load [u] .Refresh aufgerufen, werden die [u]Events .RowLoaded für den sichtbaren Bereich des Grids automatisch ausgelöst.
Wenn ich diese Methode im [u]Event .AfterUpdate aufrufe, wird zwar das Neuzeichnen durchgeführt, aber nicht .RowLoaded.
Das war einer der Gründe, warum die Anzeige bei mir nicht funktioniert



Methode .DoEdit

Wenn man mit z.B. mit DoppelClick eine Zeile editiert, dann wird automatisch das Event [u]StartEditMode aufgerufen.
Wenn die Methode [u].DoEdit bei [u]StartEditMode aufgerufen wird, um z.B. automatisch zu einer anderen Zelle springen zu können, wird der Sprung zwar durchgeführt, aber es wird nicht neuerlich das [u]StartEditMode mit der neuen Zelle ausgelöst.
Wenn ich [u].DoEdit aber von einer Befehlsschaltfläche aufrufen, scheint es zu funktioniern



Methode .DoSort

wenn mit mit Click auf eine Spalte eine Sortierung anstösst, werden [u].RowLoaded auch [u].BeforeSort / AfterSort ausgelöst. Bei Aufruf innerhalb von z.B. [u].StartEditMode wird der Sort zwar durchgeführt, aber nicht die oben erwähnten Events.



Editieren von Zeilen generell

nach Editieren einer Zelle und Sprung mittels TAB zu der nächsten Zelle, wird automatisisch [u]Before_Update/After_Update durchgeführt. Zusätzlich wird, ohne scheinbar ein Event auszulösen, der editierte Datensatz der eingestellten Sortierung neu positioniert (wenn notwendig).
Das hat höchste unerfreuliche Nebeneffekte.

1. Der Anwender hoffte natürlich mittels Tab zu der Zelle des Satzes zu gelangen, wo er die Editierung begonnen hat. Tatsächlich befindet er sich unter Umständen in einem anderen Datensatz.
z.B. der zu editierende Satz hat :row 10. Nach der Editerung und TAB wird unter Umständen eine Neupositierung durchgeführt (z.B. wird der Datensatz jetzt an die Position .row 8 eingereiht. Die durch Tab angesteuerte Zelle führt aber zur alten Position .row 10 und man ist daher auf einen anderen Satz.

2. Solte man zusätzlich bei [u]after_Update nicht [u].Refresh aufgerufen haben, dann ist die Anzeige nicht aktualisiert und man sieht gar nicht, dass man sich im falschen Satz befindet



Eingabe eines neuen Datensatzes

Dabei gibt es ein ähnliches Problem. Nach Abschluss des Update wird automatishc eine Sortierung vorgenommen, ohne sichtbar zu werden. Das kann man dadurch festellen, das nach [u].BeforeUpdate ein automtisches [u].RowLoaded durchgeführt wird. Aber nicht für den eingegeben Satz (z.b. .row = 7) sonder für z.B..row = 2, wenn nach Sortierung der neue Satz an diese Stelle kommen würde.



Verwenden von .FixedCol

Bei Verwenden von [u].FixedCol sind mir folgende Dinge aufgefallen.

1. Die Selektion über FixedCol-Spalte ist langsamer als die Selektion über Clicken der ersten Zelle

2. Wenn man die Selektion nur über die 1. Spalte durchführt, wird die selektierte Zeile korrekt hervorgehoben. Wenn man die Selektion über die FixedCol-Spalte durchführt, kann es nach mehrmaligen Selektionen passieren , dass die nicht mehr selektierte Zeile mit der FixCol-Spalte unterlegt bleibt, als wäre die Zeile noch selektiert.
Ich glaube es geschieht, wenn man zwischen Selektion über FixedCol-Spalte als Selektion über die 1. Zelle hin und her springt.
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
sevdatagrid Combobox(List) gebundene Spalte1.917gtu16.06.04 12:57
Re: sevdatagrid Combobox(List) gebundene Spalte1.333ModeratorDieter16.06.04 15:26
Re: sevdatagrid Combobox(List) gebundene Spalte1.387gtu17.06.04 14:57
Re: sevdatagrid Combobox(List) gebundene Spalte - festgeste...1.677gtu21.06.04 12:50
Re: sevdatagrid Combobox(List) gebundene Spalte - festgeste...1.295ModeratorDieter22.06.04 07:37
Re: sevdatagrid Combobox(List) gebundene Spalte - festgeste...1.395ModeratorDieter22.06.04 09:37
Re: sevdatagrid Combobox(List) gebundene Spalte - festgeste...1.291gtu22.06.04 13:08
Re: sevdatagrid Combobox(List) gebundene Spalte - festgeste...1.292gtu24.06.04 18:43
Re: sevdatagrid Combobox(List) gebundene Spalte - festgeste...1.308ModeratorDieter26.06.04 12:04

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