13 Stimmen

JQuery GridView-Steuerung

Gibt es so etwas?

Was ich suche, ist ein Steuerelement, das auf der Client-Seite sein wird, mit der Bearbeiten, Abbrechen Zeile Fähigkeiten eines GridView.

Ich möchte es verwenden, um die Daten vom Benutzer zu sammeln und dann auf dem Server zu speichern, nachdem der Benutzer die Daten eingegeben hat.

BEARBEITET:

Vielen Dank für die vielen Empfehlungen. Eine Sache, die ich Sie alle fragen möchte, bevor ich eintauche und Zeit damit verbringe, diese Frameworks zu lernen.

Alle von Ihnen scheinen ASP.net MVC zu verwenden und erwähnen, dass diese Toolkits mit diesem gut sind. Ich verwende jedoch ASP.net Webformulare. Spielen diese Frameworks gut mit alten Geschmack von ASP.net?

8voto

Jeff Sternal Punkte 46528

Client-seitige Frameworks

Zusätzlich zu jqGrid, gibt es mehrere andere Javascript-Framework Grids, dass ich mit vor kurzem gespielt haben:

  1. Flexigrid : jQuery-basiert, keine Bearbeitungsfunktionen noch nicht, aber geplant.

  2. Ext's GridPanel : Ext js ist ein weiteres Javascript-Framework, das Schnittstellen mit jQuery.

  3. YUI's DataTable : Das Yahoo User Interface (YUI) ist ein weiteres Framework mit einem editierbaren Grid Kontrolle.

Dies sind alles clientseitige Komponenten: Sie arbeiten im Browser des Benutzers, losgelöst von Ihrem Servercode. Wie Tracker1 und einige andere geschrieben haben, müssen Sie entweder selbst Ajax-Methoden schreiben, um das Client-seitige Raster mit dem Server zu verbinden, oder Sie können versuchen, die Vorteile bestehender Wrapper zu nutzen, wie z. B.:

Server-seitige Optionen

  1. Die Ext-Wrapper von Coolite für .NET

  2. Eine der in Arbeit befindlichen YUI .NET Wrapper-Bibliotheken (YuiDotNet oder Yui.NET). Ich glaube nicht, dass eine der beiden einen Wrapper für die DataTable noch implementiert, aber sie können Ihnen den Weg zeigen, dies zu tun.

Verbindung zwischen dem Client und dem Server

Wenn Sie noch nicht viel mit Ajax oder diesen Javascript-Frameworks gearbeitet haben, sollten Sie sich auf eine gewisse Lernkurve gefasst machen: Wenn Sie anfangen, sie zu verwenden, müssen Sie ständig im Auge behalten, was auf dem Server und was auf dem Client passiert (und wann!).

Wenn Sie eine der geraden Javascript-Bibliotheken verwenden, die ich oben aufgeführt habe, im Gegensatz zu einem .NET-Wrapper, müssten Sie eine serverseitige Methode schreiben, um die Datenübermittlung zu handhaben und sie dem Client mit Ihrer Wahl der Technologie (MVC's JsonResult Controller-Aktionen, die Einrichtung von WebMethods / ScriptMethods, etc.)

Verwandte Stack Overflow-Fragen

Verwendung von ExtJS in ASP.NET y Rückgabe von Daten aus ASP.net an ein ExtJS-Grid - Diese konzentrieren sich auf die Steuerelemente von Ext, aber die Antworten enthalten viele gute allgemeine Informationen über die Verbindung der neuen Generation von Javascript-Framework-Steuerelementen mit Server-Anwendungen.

Gute Asp.Net excel-ähnliche Grid-Steuerung - vielleicht interessieren Sie sich auch für die Antworten auf diese Frage, vor allem, weil es sich so anhört, als ob Sie solide Bearbeitungsmöglichkeiten wünschen.

6voto

Craig Stuntz Punkte 124703

Ja. jqGrid funktioniert gut. Versuchen Sie die Demos . Wir verwenden es mit ASP.NET MVC.

Aktualisierung: In Ihrer aktualisierten Frage haben Sie nach der Verwendung von Frameworks wie jQuery mit WebForms gefragt. Können Sie das tun? Sicher. Würden Sie das wollen? Das ist eine etwas schwierigere Frage. In WebForms, Sie allgemein Lassen Sie WebForms JavaScript für Sie generieren. Deshalb gibt es UpdatePanel und dergleichen. Auf der einen Seite ist das einfach, weil Sie sich auf die Programmierung in C# konzentrieren können, und Sie können Grid-Komponenten verwenden, für die Sie kein JavaScript schreiben müssen, damit sie funktionieren. Andererseits sind Sie auf das beschränkt, was der generierte Code leisten kann. Ja, Sie können JavaScript manuell schreiben, sogar in WebForms, aber Sie müssen einige der Dinge umgehen, die das Framework macht, wie z. B. das Ändern von IDs auf Steuerelementen. Ja, Sie können Event-Handler in C# schreiben, aber dies erfordert die Verwendung von Postbacks, die nicht natürlich in HTTP passen, mit Konsequenzen, die für den Endbenutzer sichtbar sind.

Es ist üblich, jQuery mit ASP.NET MVC zu verwenden, nicht zuletzt, weil es zum Lieferumfang des Frameworks gehört. Aber auch bevor das geschah, war es noch sehr häufig, die beiden zusammen zu verwenden, weil jQuery es sehr einfach macht, Dinge zu tun, die sonst nicht direkt in ASP.NET MVC unterstützt werden, wie z. B. die Interaktion von Steuerelementen auf einer Seite. Ja, das bedeutet, dass Sie JavaScript schreiben müssen, aber solange Sie damit einverstanden sind, haben Sie den großen Vorteil, dass Sie jede Art von Interaktion schreiben können, die Sie wollen, ohne zum Server zurückkehren zu müssen.

Wenn Sie nur auf der Suche nach einem guten Grid-Steuerelement für WebForms sind, dann würde ich vorschlagen, ein Steuerelement für WebForms entwickelt, anstatt ein Gitter für jQuery entwickelt. Der Grund ist, dass der Code, den Sie schreiben werden, natürlicher in die Idiome von WebForms passen wird.

Wenn Sie nur jQuery lernen wollen, ist das eine wirklich gute Idee, denn das Framework ist interessant, nützlich und gut durchdacht, aber ich bin mir nicht sicher, ob ein großartiges Steuerelement der beste Ort für den Anfang ist. Ein besserer Anfang wäre es, einige Ihrer bestehenden Seiten visuell aufzupeppen. Es ist einfacher, mit bekanntem HTML zu beginnen und es mit jQuery zu manipulieren, als neues HTML zu erzeugen und gleichzeitig jQuery zu lernen.

3voto

David Robbins Punkte 10000

Ich verwende derzeit DatenTabellen . Damit können Sie eine Html-Tabelle erstellen und Filter für mehrere Spalten, mehrspaltige Sortierungen, Paging usw. anwenden. Sie haben die Möglichkeit, eine Html-Tabelle clientseitig zu bearbeiten oder die Daten aus einer AJAX-Quelle zu empfangen.

Außerdem verfügt es über eine API zum dynamischen Hinzufügen von Zeilen, zur dynamischen Anzeige von Spalten und zur Gruppierung.

1voto

Nathan Fisher Punkte 7781

Wie wäre es mit dem jQuery-Gitteransicht-Plugin

1voto

Tracker1 Punkte 18421

Von Ihrem Kommentar (auf Craig's Erwähnung von jqGrid), du wirst entweder mit jqGrid, FlexiGrid oder eine andere Client-seitige Alternative zu gehen, und verdrahten Sie es bis Server-Seite selbst, oder Sie werden besser mit einem Nicht-Jquery-basierte kommerzielle Ajax Grid-Komponente.

Wenn Sie MVC (wie Craig Erwähnungen) verwenden, ist jqGrid eine ziemlich gute Passform. Es ist ziemlich einfach, die jqGrid-Ereignisse mit JsonResult-Controller-Aktionen in MVC zu verknüpfen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X