このようなものはありますか?
私が探しているのは、GridViewの行の編集、キャンセル機能を備えた、クライアント側になるコントロールです。
これを使用してユーザーからデータを収集し、ユーザーがデータの入力を完了した後にサーバーに保存したいと思います。
編集:
すべての推奨事項をありがとう。これらのフレームワークを掘り下げて学習する前に、皆さんにお願いしたいことが1つあります。
皆さんはASP.netMVCを使用しているようで、これらのツールキットはこれに適していると述べています。ただし、ASP.netWebフォームを使用しています。これらのフレームワークは、ASP.netの古いフレーバーでうまく機能しますか?
はい。 jqGrid うまく機能します。 デモ を試してください。 ASP.NETMVCで使用します。
更新:更新された質問で、WebFormsでjQueryなどのフレームワークを使用することについて質問しました。あなたはこれができますか?承知しました。したいですか?それはもっと難しい質問です。 WebFormsでは、一般的にWebFormsにJavaScriptを生成させます。そのため、UpdatePanelなどがあります。一方で、これは簡単です。コーディングの注意をC#に集中させることができ、JavaScriptをまったく記述せずにグリッドコンポーネントを使用して機能させることができるからです。一方、生成されたコードで実行できることには制限があります。はい、WebFormsでもJavaScriptを手動で記述できますが、コントロールのIDの変更など、フレームワークが行ういくつかのことを回避する必要があります。はい、C#でイベントハンドラーを作成できますが、これにはポストバックを使用する必要があります。ポストバックはHTTPに自然に適合しないため、エンドユーザーに表示されます。
JQueryはフレームワークに付属しているため、ASP.NETMVCで使用するのが一般的です。しかし、それが起こる前でさえ、jQueryを使用すると、ページ上のコントロールを相互に作用させるなど、ASP.NET MVC内で直接サポートされていないことを非常に簡単に実行できるため、2つを一緒に使用することは非常に一般的でした。はい、これはJavaScriptを作成する必要があることを意味しますが、それで問題がない限り、サーバーにポストバックすることなく、任意の種類のインタラクションを作成できるという大きな利点があります。
WebForms用の優れたグリッドコントロールを探しているだけの場合は、jQuery用に設計されたグリッドではなく、WebForms用に設計されたコントロールを使用することをお勧めします。その理由は、作成するコードがWebFormsのイディオム内により自然に収まるためです。
JQueryを学びたいだけなら、それは本当に良い考えです。フレームワークは興味深く、便利で、うまく設計されているからですが、優れたコントロールが出発点として最適かどうかはわかりません。開始するのに適した場所は、既存のページの一部に視覚的なセンスを追加することです。新しいHTMLの生成とjQueryの学習を同時に行うよりも、既知のHTMLから始めてjQueryで操作する方が簡単です。
クライアント側フレームワーク
JqGridに加えて、私が最近遊んでいる他のいくつかのjavascriptフレームワークグリッドがあります。
Flexigrid :jQueryベース、編集機能はまだありませんが、計画されています。
ExtのGridPanel :Ext jsは、jQueryとインターフェイスするもう1つのjavascriptフレームワークです。
YUIのDataTable :Yahooユーザーインターフェイス(YUI)は、編集可能なグリッドコントロールを備えたさらに別のフレームワークです。
これらはすべてクライアント側のコンポーネントです。これらはユーザーのブラウザで動作し、サーバーコードから切断されています。 Tracker1や他のいくつかが書いたように、クライアント側のグリッドをサーバーに接続するためにAjaxメソッドを自分で作成するか、次のような既存のラッパーを利用することができます。
サーバー側オプション
進行中のYUI.NETラッパーライブラリの1つ(YuiDotNetまたはYui.NET)。これらのどちらもDataTableのラッパーをまだ実装していないと思いますが、その方法を示している可能性があります。
クライアントとサーバーの接続
多くのAjaxを使用したことがない場合、またはこれらのjavascriptフレームワークを使用したことがない場合は、少し学習曲線に備えてください。使用を開始するときは、サーバーで何が起こっているかを常に念頭に置く必要があります。そして、クライアントで何が起こっているのか(そしていつ!)。
.NETラッパーではなく、上記のストレートJavaScriptライブラリのいずれかを使用する場合は、データ送信を処理し、選択したテクノロジ(MVCのJsonResult)を使用してクライアントに公開するサーバー側メソッドを作成する必要があります。コントローラアクション、WebMethods/ScriptMethodsの確立など)。
関連するスタックオーバーフローの質問
ASP.NETでExtJSを使用 および ASP.netからExtJSグリッドにデータを返す -これらはExtのコントロールに焦点を当てていますが、回答には新世代のjavascriptフレームワークコントロールをサーバーアプリケーションに接続します。
優れたAsp.Net Excelのようなグリッドコントロール -特に確かな編集機能が必要なように思われるため、この質問への回答にも興味があるかもしれません。
私は現在 DataTables を使用しています。これにより、htmlテーブルを作成し、複数の列、複数列の並べ替え、ページングなどにフィルターを適用できます。htmlテーブルのクライアント側の操作、またはAJAXソースからのデータの受信を選択できます。 。
また、行を動的に追加したり、列を動的に表示したり、グループ化したりするためのAPIもあります。
あなたのコメント(CraigによるjqGridの言及)から、jqGrid、FlexiGrid、または別のクライアント側の代替手段を使用して、サーバー側に接続するか、または非サーバー側を使用する方がよいでしょう。 jqueryベースの商用ajaxグリッドコンポーネント。
(Craig Mentionsとして)MVCを使用している場合、jqGridは非常に適しています。 jqGridイベントをMVCのJsonResultコントローラーアクションにワイヤリングするのはかなり簡単です。
jQueryグリッドビュープラグイン はどうですか
私の無料の WebGrid DataGrid を試すことができます。これはJQueryを使用し、JQueryThemeRoller対応です。
jsGridは軽量のGridViewjQueryプラグインです js-grid.com
それはかなりカスタマイズ可能であり、任意のデータソースで使用できます。
WebFormsで行われた例を次に示します。
http://praveen1305.blogspot.com/2009/05/jqgrid-with-asp-net-web-forms.html
dataTableとJQgridを使用した例を http://arahuman.blogspot.com/2009/06/jqgrid-using-mvc-json-and-datatable.html で見つけました。