2010-12-15 17 views
1

Ich frage mich nur, welches das beste Steuerelement von asp.net ist, damit ein Benutzer Daten in eine Tabelle eingeben und speichern kann. Dann kann das Codebehind die Zeilen wiederholen und jede Zeile in der Datenbank speichern. Laden Sie dann die Tabelle, wenn der Benutzer die Daten sehen möchte. Wäre das der Repeater oder Gridviewcontrol?Welche Kontrolle soll ich verwenden? Repeater oder Gridview?

+0

Haben Sie Reihen wollen automatisch, wenn alle Zeilen hinzugefügt werden, zum Beispiel 10, sind ausgefüllt und Sie brauchen mehr? – XIII

Antwort

0

Hängt davon ab, wie komplex Ihre Daten sind, wie viel Zeit Ihnen zur Verfügung steht und ob sie leicht und ressourceneffizient sein müssen. Wenn es sich um eine einfache Tabelle handelt, die Sie zur Bearbeitung bereitstellen möchten, und sie muss schnell und effizient sein, würde ich vorschlagen, dass Sie einen maßgeschneiderten, editierbaren Repeater schreiben. Wenn Sie es eilig haben und es nur funktionieren muss und die Leistungs-/Ressourcenanforderungen kein Problem darstellen, verwenden Sie ein Datagrid oder ein anderes .Net-Steuerelement. Sie neigen dazu, für viele Szenarien ein wenig schwergewichtig zu sein und verfügen über viele Funktionen, die ungenutzt bleiben.

gesagt haben, dass Dinge wie Paging wird verwickeln Sie komplexere Code erarbeiten - wenn diese Bedenken, mit einem ‚fertig gerollt‘ Lösung gehen ;-)

0

Verwenden Sie auch nicht die GridView oder die DataFormView (Sorry nicht sicher über diesen Nachnamen).

+0

Entschuldigung das ist, was ich meinte .... – Exitos

1

Dann kann der Code-Behind die die Zeilen durchlaufen und jede Zeile in die Datenbank speichern.

Das ist nicht gut Ansatz

Benutzer muss nur eine Zeile
zur nächsten Zeile Benutzer bearbeiten müssen bearbeiten können, speichern (oder Abbrechen) Daten der aktuellen Zeile
So können Sie

viele Probleme mit Datensynchronisation vermeiden
1

Für mich kann DataGrid oder GridView verwendet werden, wenn Daten angezeigt werden müssen, die jede Zeile bearbeiten, sortieren, paging usw. ausführen können. Wenn Sie nur eine Tabelle anzeigen möchten, ist Repeater vorzuziehen.

Aber natürlich, um Benutzer zu erlauben, alle Tabelle auf einmal zu füllen, ist es nicht gute Idee. Sie können ein Formular erstellen, um eine Zeile hinzuzufügen, und dann, wenn Benutzer auf Speichern klicken, speichern Sie Daten in db, löschen Sie das Formular zum Hinzufügen von zweiten und irgendwo unterhalb der Anzeigetabelle mit bereits hinzugefügten Daten. Aber ich weiß nicht, was Ihre Anwendung genau benötigt. Wie du willst.

Ich hoffe, es wird hilfreich sein. Viel Glück))

Mit freundlichen Grüßen, Dima.

0

Der Repeater hat keine Vorlage zum Bearbeiten, und in einer GridView können Sie nur eine Zeile zur Zeit bearbeiten. Ich denke, Sie müssen eine Problemumgehung für ein bindbares Steuerelement (auch die GridView) um dieses Verhalten zu erhalten.

0

Mit GridView können Sie so etwas nicht machen. Beim Repeater geht es mehr darum, Daten darzustellen, als sie zu manipulieren. Sie können zwar mit Repeater erreichen, was Sie wollen, aber Sie sollten verstehen, dass 95% der Arbeit Sie manuell erledigen müssen.

Zum Beispiel können Sie einen Repeater mit editierbaren Steuerelementen in jeder Zeile (Textfelder, Dropdowns oder was auch immer Sie benötigen) und externe Schaltfläche Save erstellen, die durch die Repeater-Zeilen iterieren und alle Daten speichern.

Es ist nicht so einfach wie es aussehen könnte, aber es ist möglich. Auf der anderen Seite können Sie versuchen, einige kostenlose Steuerelemente von Drittanbietern über Google zu finden, die solche UI bereits implementieren.

+0

Einen editierbaren Repeater zu machen ist nicht so beschwerlich und sorgt für eine interessante Nachmittagsarbeit. – 5arx

+0

Das hängt davon ab. Wenn Sie beispielsweise möchten, dass Ihr Benutzer eine neue Zeile innerhalb des Repeaters selbst hinzufügen kann (und nicht mehrere Textfelder außerhalb davon füllt), wird die Aufgabe nicht mehr so ​​trivial. Vor allem, wenn Sie es zum ersten Mal tun :) – Cromathaar

+0

Ich würde vorschlagen, dass dies eine dieser Aufgaben ist, deren Interesse umgekehrt proportional zu der Menge an Erfahrung ist, die man hat, es zu tun ... – 5arx

Verwandte Themen