| |

Fragen & Antworten rund um sev-KomponentenRe: 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. |  |
 | 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 |
  |
|
Neu! sevDTA 3.0 Pro 
SEPA mit Kontonummernprüfung
Erstellen von SEPA-Dateien mit integriertem BIC-Verzeichnis und Konto- nummern-Prüfverfahren, so dass ungültige Bankdaten bereits im Vorfeld ermittelt werden können. Weitere InfosTipp des Monats Oktober 2025 Matthias KozlowskiUmlaute konvertierenErsetzt die Umlaute in einer Zeichenkette durch die entsprechenden Doppelbuchstaben (aus ä wird ae, usw.) TOP Entwickler-Paket 
TOP-Preis!!
Mit der Developer CD erhalten Sie insgesamt 24 Entwickler- komponenten und Windows-DLLs. Die Einzelkomponenten haben einen Gesamtwert von 1866.50 EUR...
Jetzt nur 979,00 EURWeitere Infos
|
|
|
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
|
|