Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Prism [ASP.Net] Änderungen im DataGrid nicht sofort sichtbar (https://www.delphipraxis.net/90665-%5Basp-net%5D-aenderungen-im-datagrid-nicht-sofort-sichtbar.html)

r_kerber 21. Apr 2007 13:43


[ASP.Net] Änderungen im DataGrid nicht sofort sichtbar
 
Moin,

ich habe folgendes Problem auf einer ASP.Net-Seite, die Ihre Daten aus einer Datenbank holt:
  • Im DataGrid befindet sich eine Schaltflächenspalte (Bearbeiten, Aktualisieren, Abbrechen)
  • Ein Klick auf Bearbeiten -> Die Seite wird neu geladen. Die entsprechende Zeile im Grid wird in den Editiermodus versetzt.
  • Ich ändere in einer Spalte einen Wert
  • Klick auf Aktualisieren -> Im UpdateCommand des DataGrids wird ein UPDATE-Statement erstellt. Dieses wird mit ExecNonQuery ausgeführt
  • Der Eintrag in der Datenbank wird aktualisiert.
  • Im selben Event wird der Editiermodus im DataGrid beendet und die Seite neu geladen
  • Es wird auch die PageLoad-Methode abgearbeitet, in der das SELECT-Statement für die Tabelle, die das DataGrid angezeigt, ausgeführt wird.
  • Im DataGrid wird immer noch der alte Wert angezeigt.
  • Erst ein erneuter Aufruf dieser Seite über ihre URL zeigt den neuen Wert an.
Wie erreiche ich es, dass die Änderungen sofort nach dem Editieren und Rückschreiben in die Datenbank zu sehen ist?

r_kerber 23. Apr 2007 05:44

Re: [ASP.Net] Änderungen im DataGrid nicht sofort sichtbar
 
Ich schiebe die Frage nach oben. Vielleicht habe ich ja an einem Werktag mehr Glück als am Wochenende...

Phoenix 24. Apr 2007 19:44

Re: [ASP.Net] Änderungen im DataGrid nicht sofort sichtbar
 
schonmal versucht, das DataBind - Ereignis von Hand neu auszulösen?

r_kerber 25. Apr 2007 06:13

Re: [ASP.Net] Änderungen im DataGrid nicht sofort sichtbar
 
Bei jedem PageLoad wird das SELECT-Statement für das DataSet ausgeführt und anschließend DataBind für das DataGrid ausgeführt. Zusätzlich habe ich im OnUpdate-Event des DataGrids zusätzlich ein DataBind eingebaut.

Phoenix 25. Apr 2007 07:18

Re: [ASP.Net] Änderungen im DataGrid nicht sofort sichtbar
 
Argl.. klar... *wieschuppenvondenAugenfällt*

Das PageLoad Ereignis wird (logischerweise, siehe Page Lifecycle) VOR dem Abarbeiten des Events durchgeführt - und damit hat die Grid noch die alten Daten, weil die neuen ja erst später zurückgeschieben werden.

Probier mal das hier: Das Füllen der Grid aus dem PageLoad in eine eigene Methode auslagern, und diese dann auch nach dem Abarbeiten des Events ausführen, dass die Daten in die DB zurückscheibt.

r_kerber 25. Apr 2007 07:29

Re: [ASP.Net] Änderungen im DataGrid nicht sofort sichtbar
 
Zitat:

Zitat von Phoenix
Das PageLoad Ereignis wird (logischerweise, siehe Page Lifecycle) VOR dem Abarbeiten des Events durchgeführt - und damit hat die Grid noch die alten Daten, weil die neuen ja erst später zurückgeschieben werden.

PageLoad wird auch nach dem Ausführen des Events ausgeführt. Habe ich durchdebugged.

Zitat:

Zitat von Phoenix
Probier mal das hier: Das Füllen der Grid aus dem PageLoad in eine eigene Methode auslagern, und diese dann auch nach dem Abarbeiten des Events ausführen, dass die Daten in die DB zurückscheibt.

Dazu werde ich wohl wegen zeitlicher Probleme frühestens auf der Fahrt nach oder in Paderborn kommen. :-(


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:13 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