2009-03-03 11 views
0

Ich mache eine ASP.NET Web Forms-Anwendung. Ich möchte eine DataSource bekommen, die ihre Daten von einer DataTable nimmt, und diese Tabelle wird zwischen Anforderungen beibehalten (vorzugsweise in Sitzung, nicht ViewState).Gibt es eine vorhandene DataSource, die ihre Daten von DataTable in ASP.NET übernimmt?

Die Idee ist, dass einige ziemlich komplexe Formen benötigt werden, in denen es jeweils mehrere Rasteransichten gibt. Alle Gridviews müssen eine Bearbeitungsfunktionalität haben (wir verwenden DevExpress), aber es muss einen riesigen "SAVE" -Button auf dem Formular geben, der alles speichert.

Es wäre also nett, wenn ich irgendeine Art von DataSource bekommen könnte, gegen die ich diese GridViews binden könnte und die nur die Daten im Speicher speichern würde. Wenn der Benutzer auf die Schaltfläche Speichern klickt, würde ich diese DataSources manuell abfragen und die geänderten Daten daraus extrahieren.

Gibt es etwas dafür, oder muss ich mein eigenes schreiben (scheint eine ziemlich große Aufgabe zu sein)?

Antwort

0

Das von Ihnen beschriebene Szenario;

  1. Abrufen von Daten aus Datenquellen und Speichern in Datentabelle
  2. Shop Datentabelle in Session-Zustand.
  3. Ändern Datentabelle aus verschiedenen Rastern

wie es klingt funktionieren wird, Probleme, die ich dich sehen kann ist, dass Sie die Daten zwischen den Gittern nachladen müssen werden, wenn sich die Daten ändern. Sie müssen eine Klasse schreiben, die Ereignisse auslöst, wenn Änderungen an der Datentabelle vorgenommen werden (die Sie wahrscheinlich auch in die Klasse aufnehmen möchten, und speichern Sie das Klassenobjekt einfach im Sitzungszustand).

Ich hoffe, dass die Datentabelle nicht zu groß ist ... da dies nicht die Art von Ansatz ist, den ich für eine Web-App nehmen würde.

+0

Umm ... nun, es wird eine Datentabelle pro GridView geben. Ich habe nicht die Absicht, die gleiche DataTable von verschiedenen GridViews zu bearbeiten. Aber ja, ich weiß, dass ich dort nicht zu viele Daten reinpacken kann, und ich werde mich darum kümmern. –

+0

Der schwierige Teil ist, dass die GridViews an etwas gebunden werden müssen, das sie * bearbeiten * können. Wenn ich sie direkt an die DataTable binde, kann ich die Daten sehen, aber die Bearbeitung schlägt mit einer Ausnahme fehl. –

+0

Ich kann das - aber die Frage ist - gibt es dafür nicht schon etwas, das ich wiederverwenden kann? –