AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Prism [ASP.Net] Änderungen im DataGrid nicht sofort sichtbar
Thema durchsuchen
Ansicht
Themen-Optionen

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

Offene Frage von "r_kerber"
Ein Thema von r_kerber · begonnen am 21. Apr 2007 · letzter Beitrag vom 25. Apr 2007
Antwort Antwort
Benutzerbild von r_kerber
r_kerber

Registriert seit: 11. Feb 2003
Ort: Trittau
3.538 Beiträge
 
Delphi XE Professional
 
#1

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

  Alt 21. Apr 2007, 14:43
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?
  Mit Zitat antworten Zitat
Benutzerbild von r_kerber
r_kerber

Registriert seit: 11. Feb 2003
Ort: Trittau
3.538 Beiträge
 
Delphi XE Professional
 
#2

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

  Alt 23. Apr 2007, 06:44
Ich schiebe die Frage nach oben. Vielleicht habe ich ja an einem Werktag mehr Glück als am Wochenende...
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.641 Beiträge
 
#3

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

  Alt 24. Apr 2007, 20:44
schonmal versucht, das DataBind - Ereignis von Hand neu auszulösen?
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
Benutzerbild von r_kerber
r_kerber

Registriert seit: 11. Feb 2003
Ort: Trittau
3.538 Beiträge
 
Delphi XE Professional
 
#4

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

  Alt 25. Apr 2007, 07:13
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.
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.641 Beiträge
 
#5

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

  Alt 25. Apr 2007, 08:18
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.
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
Benutzerbild von r_kerber
r_kerber

Registriert seit: 11. Feb 2003
Ort: Trittau
3.538 Beiträge
 
Delphi XE Professional
 
#6

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

  Alt 25. Apr 2007, 08:29
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 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.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:38 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