8

他の人が私と同じように感じているかどうか興味があります。私にとっては、datagrid/gridview/formview/etc などのコントロールです。プレゼンテーションやデモのみに最適です。時間をかけてこのコントロールを微調整するには、デフォルトの動作をオーバーライドします (ばかげたイベントにフックするなど) は、大きな頭痛の種です。私が使用する唯一のコントロールはリピーターです。他のコントロールよりも柔軟性が高いからです。

要するに、それらはほとんどブロートウェアです。

独自の html/css を織り込み、独自のカスタム ページング クエリを使用したいと考えています。

繰り返しますが、簡単なページを表示する必要がある場合、これらのコントロールは優れています (特に、開発の容易さを人々に伝えようとしている場合.NET)。

私は少数派でなければなりません。そうでなければ、MS はこれらのタイプのコントロールにそれほど多くの開発時間を割かなかったでしょう...

4

26 に答える 26

49

誰も*グリッド コントロールを使用していないと考えている人は、社内の企業 Web アプリケーションで作業したことがないことは明らかです。

于 2008-08-20T01:19:21.100 に答える
17

私はほとんど独自の HTML を書いています。ListView と Masterpages を使用していますが、コントロールはあまり使用していません。ところで、私の ListView はあなたのばかげた古いリピーターを笑っています。

ただし、ブロートウェアは必ずしも悪いものではありません。ボリュームの少ないイントラネット アプリケーションを作成する必要がある場合は、(あなたや私のような) HTML 編集者が各タグを作成するよりも、経験の浅い開発者にコントロールのドラッグ アンド ドロップを依頼した方がよいでしょう。迅速でシンプルなアプローチの場所は間違いなくあります。コントロールベースのコードが保守可能な方法で書かれている限り、そのシナリオでの「ブロートウェア」のコストはいくらですか? 多くの場合、コントロールを一緒に配線すると、カスタム コードが少なくて済み、メンテナンスが簡単になります。

私があなたと意見を異にしなければならない点の 1 つは、アプリケーションに関係なく、独自のページング クエリを作成することです。あなたはそのようなことをしたいと思うかもしれませんが、ビジネス上の価値はまったくありません。通常、ほとんどの開発者よりも保守しやすく高速なクエリを作成する、プロ仕様の DAL ツールがいくつかあります。愛情を込めて完璧なページング クエリを作成したとしても、それから何時間もかけ続けない限り、スキーマの変更に対応することはできません。これらの時間を「データベース アセンブリ言語」レイヤーにすぐにジャンプするのではなく、軽量システムを構築し、その時間を特定のボトルネックの監視と修正に費やすことをお勧めします。

于 2008-08-19T21:17:42.387 に答える
15

私はあなたの投稿を読んでいて、私はばかげていると感じました。

つまり、私が働いている場所で作成したすべてのアプリケーションには、少なくとも 1 つのデータグリッド/グリッドビューが含まれています。そして、何かが欠けているという感覚はありませんでした。

確かに datagrid/gridview は少し肥大化していますが、使用するのはそれほどですか?

于 2008-08-20T01:18:04.927 に答える
13

非難する前に、GridView の使い方を学ぶ必要があると思います。私はそれらを広範囲に使用しています。最初は特定のことを理解するのが少し難しかったですが、今ではそれらは不可欠です。

AJAX CRUD とページネーションを使用した UpdatePanel 内の GridView は、非常に高速です。このように設定された大規模なシステム (内部/外部アプリケーション用) の 1 つは、バックエンドに適度なサイズのデータ​​ベースを持っています。多くの nvarchar(2000) フィールドがあり、遷移と更新は優れています。

いずれにせよ、データを表示する独自のバージョンを作成した場合は、それが機能する場合は引き続き使用することをお勧めします。(独自のコンパイラを作成する、独自のバージョンの HTML を作成する、独自のバージョンのデータ アクセス バイナリを作成する、などについても同じことが言えます。) GridView を使用する利点は、GridView に精通していて、 MSFT がクラスを抽象化/モデル化して、以前は手動で行わなければならなかった多くのことを実行できるようにしました。

于 2008-11-12T13:20:32.320 に答える
4

私の会社で開発しているすべてのアプリにはグリッドがあります (アプリはすべてファイアウォールの内側にあります)。これには、Web アプリと Winform アプリの両方が含まれます。Web アプリの場合は、Janus グリッドを使用する winform アプリ用のカスタム ソートを備えた優れた ole gridview です。開発者やユーザーに、より良いユーザー インターフェイスを考えてもらいたいと思っていますが、変更するのは難しいです。ユーザーが Access を使用して「独自の」アプリを作成し、そのアプリをサポートするよりも優れていることを認めざるを得ません。

于 2008-08-20T02:42:26.953 に答える
4

GridView のようなコントロールを使用すると、単純なアプリに最適です。あなたがサーバー側の HTML ブラケットをいじる忍者であっても、単純なものの開発にかかる時間を大幅に短縮できます。問題は、通常、最終的に欠点が明らかになり始め、最終的には微調整に時間を費やさなければならないことです. しかし、少なくとも、すぐに立ち上がって最初から始めることができます。

たとえば、GridView の既定のページングは​​、データベース自体のページングをサポートしていません (ページングする前にすべての行を読み込む必要があります)。そのため、パフォーマンスのピンチを感じ始めたら、ローリングについて考える必要があるかもしれません。独自の、またはより適切なグリッド コントロールを見つけてください。

何はともあれ、既成部品が良いのがポイント。彼らは助けます。しかし、いつものように、それはあなたが何をする必要があるかによって異なります.

于 2008-08-20T03:24:46.760 に答える
3

私は実際に、管理コンソールに GridView を広範囲に使用しました。フィールドのヘッダー テキストと並べ替え式をデータ フィールドに基づいて設定し、下部に挿入行を作成し、行の値を自動的に収集してデータ ソースの挿入メソッドに転送し、リスト ボックスを生成するカスタム DataFieldControl も作成しました。追加のリスト データ ソースが指定されている場合。構築に膨大な時間を費やしましたが、非常に役に立ちました。

(EmptyDataTemplate に) レコードがない場合に、フィールドのメタデータに基づいて新しいデータ フォームを生成する別のコントロールもあります。

<asp:GridView ...>
 <Columns>
       <my:AutoField HeaderText="Type" 
                      DataField="TypeId"
                      ListDataSourceID="TypesDataSource"
                      ListDataTextField="TypeName" />          
  </Columns>

    <EmptyDataTemplate>
        <my:AutoEmptyData runat="server" />
    </EmptyDataTemplate>

</asp:GridView>
于 2008-08-19T21:18:22.667 に答える
2

私はそれらを私が働いている企業環境で広く使用しており、現在1つを使用しています。それらを使わない人は、何年も前の「メモ帳で作った」開発者のことを思い出します。時間の節約を利用しない場合、asp.netを使用する意味は何ですか?

于 2010-07-16T19:04:38.717 に答える
2

GridView/FormView/DataGrid などのコンポーネントは、80/20 ルールに従います。

これは、単純な目的でそれらを使用する場合、80% の時間で仕事が完了し、実装が非常に簡単であることを意味します。

しかし、20% の確率で、何か複雑な (または奇妙な) ものを構築しようとしており、解決策を実装するために、さまざまな方法でコードを曲げなければなりません。

コツは、問題が 80 の問題なのか 20 の問題なのかを知ることです。20 の問題を早期に特定できれば、自分でコードを最初から書き、「時間の節約になる」問題を捨てる方がはるかに優れています。

于 2010-03-09T17:40:50.103 に答える
2

イントラネット アプリで Infragistics UltraWebGrid + LinqDataSource を使用します。

サーバー側のすべての ajax、ソート、フィルタリング、ページングを提供します。

「Excel へのエクスポート」もキラー機能です。

5000 人以上のユーザーがいて、大量のデータがあり、パフォーマンスは優れています。

于 2008-11-12T13:44:06.423 に答える
2

私の会社では、どこでもグリッドを使用しており、主に ComponentArt Grid ( http://www.componentart.com/ ) を使用しています。ええ、それはブロートウェアですが、並べ替え、ページング、グループ化、列の並べ替え、インライン編集、テンプレート (サーバー側とクライアント側) など、再発明するのはあまり楽しくない機能がたくさんあります。クライアント側の API も優れています。

于 2008-08-19T23:53:14.863 に答える
2

テレリック・ラドグリッドがとても好きです。彼らの製品は安くはありませんが、多くのコントロールと機能を手に入れることができます. また、データ バインディングのサポートは、単純な asp.net データ ソース バインディングの方法と、独自のデータ バインディング イベントを処理するよりカスタムな方法の両方で、非常に優れています。

于 2008-08-19T21:11:47.983 に答える
2

私も、なぜ GridView などが「ブロートウェア」と見なされるのかについて、より広範な回答を見たいと思っています。私は GridView とサードパーティ製品 (Telerik など) を広く使用してきましたが、ほとんどの内部プロジェクトと一部の外部プロジェクトでうまく機能することがわかりました。それらは高速で、使いやすく、カスタマイズ可能であり、最高です。GridViewを知っている人に引き渡すと、中断したところから簡単に再開できます。多数のアプリ/コントロールをすべて手作業でコーディングすると、次の人が何が起こっているのかを理解するためのオーバーヘッドが、最高の状況下でも膨大になります。

私にとっては、サード パーティ製品の一部がブロートウェアであることがわかります (ただし、それでも役立つ場合もあります)。

于 2009-03-04T21:43:28.543 に答える
2

私は GridView コントロールが好きで、会社の Web サイトのいくつかのカスタム DotNetNuke モジュールで使用しています。1 つには、組み込みコントロールを使用すると、心配する必要のある依存関係が少なくなります。そして、思い通りに設定したら、基本的にコードを他のページにコピーし、わずかな調整を行うだけで済みました。

最新のグリッド コントロール (Infragistics、Telerik など) には非常に多くのオプションがあり、他の何よりもグリッドの構成に時間がかかることがわかりました。MS コントロールは非常にシンプルですが、ほとんど何でもできます。

于 2008-08-20T02:00:51.767 に答える
2

これらは、asp.net の利点の 1 つです。つい最近までは嫌だったのですが、どの場面でどの設定を変える必要があるかがわかれば、使えば使うほど使いやすくなります。主にフォームビューとリストビューが好きですが、グリッドビューにはまだ作業が必要です。

于 2008-08-20T02:38:46.353 に答える
2

データベース テーブルの要件からではなく、ユーザー ストーリーから設計を開始すると、グリッドをほとんど放棄しました。そして決して編集可能なグリッド。古い方法は、ユーザーにシステムのデータ入力/テーブル メンテナンスを強制する方法であり、ワークフローとはまったく一致しませんでした。実際のジョブは、あるマスター/子フォームから別のフォームにスキップしていました。

ユーザーはそれを理解していませんでしたが、私たちのアプリケーションが必要以上に使いにくいことは確かに知っていました。

例外は分析アプリケーションです。しかし、その数は比較的少なく、ほとんどが読み取り専用です。

于 2008-11-23T02:57:39.383 に答える
2

私の企業イントラネット プロジェクトでは、グリッドは不可欠です。これらは、ASP.NET Web フォーム プラットフォームで簡単にレポートを作成するための基盤です。

デザインが簡単 ページにグリッドを貼り付けます。単純バインディングの BoundField オブジェクトを挿入します。asp:HyperlinkField 簡単にリンクできます。

バインディング

いくつかの方法でグリッドをバインドできます。

  • オブジェクトのコレクション ( ListArrayListHashtable、または任意の単純なコレクション)
  • SqlDataReaderコード ビハインドで (はい、プレゼンテーション層で SQL が必要になります)
  • SqlDataSource(ストアド プロシージャを指定します。結果セットのすべての列は、グリッドの列に直接マップされます。レポートがドメイン オブジェクトをうまく模倣していない場合、非常に迅速で汚いものになります。つまり、さまざまなものの合計です。)
  • objectDataSource (BL のメソッドへのバインド)

SqlDataSourceandを呼び出す可能性のある人についてObjectDataSourceは、常に .aspx.cs または .aspx.vb で宣言する必要はありません。私はここでそれらを主張しているわけではなく、可能性を指摘しているだけです。

組み込みの GridView やその他のサードパーティ グリッドの RAD の利点を軽視できないと思います。管理タイプは、表形式のデータを好み、欲しがります。

于 2008-11-01T21:13:08.143 に答える
1

私はそれを使ったことがありません。私は完全に同意します、それはブロートウェアです。私は通常、自分が作成したカスタムコントロールを備えたリピーターを使用することになります。

于 2008-08-23T16:28:07.740 に答える
1

長期的には、datagrid / gridviewを避けようとしますが、ハッキーになりすぎて、希望どおりの結果が得られない場合があります。これらの調整を何度か行った後、長期的には時間を節約できないことに気付き始め、そうではない可能性があります。必要なマークアップを制御できます。

ただし、組み込みのページングおよび並べ替え機能は適切に機能し、2008年には、これらの問題の一部を並べ替えて、出力されるhtmlをより厳密に制御することを目的とした新しいListViewコントロールがあります。

于 2008-08-23T17:07:07.180 に答える
1

私はこれについて長い間疑問に思っていました。ここでは、グリッド コントロールがブロートウェアであるというコンセンサスがあるようです。しかし、これらのコントロールを使用するコストを明確に挙げることができる人はいますか? ブラウザに過剰な HTML が送信されていませんか? サーバーで消費されるリソースが多すぎますか? HTML テーブルの生成は高速ですか (適切に記述されていると仮定して)?

ブロートウェアの問題に加えて、標準コントロールの範囲を超える機能を含めるために UI 要件が強化されたときに、私はしばしば行き詰まりました。たとえば、初期の ASP.Net バージョンでは、列ヘッダーに画像を配置するのに苦労しました。そして、複数の列にまたがる 2 つ目のトップレベルのヘッダー行を追加することは、まだ難しいと思います。ある時点で、目的の効果を達成するためのコントロールと格闘することが非常に難しくなります。必要な HTML がわかっているのに、コントロールにそれを実行させることができないのはイライラします。

あるプロジェクトでは、最終的にあきらめて、非常に複雑なグリッドを生成する HTML テーブル クラスを自分で作成しました。ちょうどよくなるまでに数日かかりました。しかし、これで基本的なコードができたので、将来のグリッド用に微調整する方がはるかに効率的です。

しかし、それについては間違いありません。制限内で生活できるのであれば、迅速な開発のために洗練されたグリッド コントロールに勝るものはありません。

于 2008-10-17T14:20:38.040 に答える
1

一般向けの Web サイトでデザイナーと多くの作業を行う場合は、GridView を捨ててリピーターに固執する必要があります。とにかく、それが私の意見です。設計要件を満たすために、何百もの GridView を引き離し、それらを単純なリピーターに変える必要がありました。

公開されている Web サイトで 10 フィートのポールを使用して DataGrid または GridView の近くに行く場合は、CSS フレンドリーなコントロール アダプターを使用する必要があります。(この時点では、リピーターで行う方が簡単であることに気付くかもしれません。) コントロール アダプターが利用可能になる前は、これらのコントロールは箱から出してすぐに使用できると考えていたでしょう。

あまりにも多くの .NET 開発者が、デザイン、アクセシビリティ、CSS、javascript、標準などをよく理解していないことがわかりました。それが、GridViews、ObjectDataSources などに屈する理由です。

于 2008-11-12T13:09:02.717 に答える
1

これまで標準の WinForms グリッドを実際に使用したことはありませんでしたが、最後の仕事では ComponentOne FlexGrid を広範囲に使用し、見事に機能しました。必要なすべてのカスタマイズを取得しようとすることにはまだいくつかの煩わしさがありましたが、全体的には時間を大幅に節約し、美しい結果を生み出しました.

現在、私は Silverlight 3 と RIA Services を使用していますが、DataGrid と DataForm コントロールなしで私たちが行っていることを作成しようとすることは想像できません。節約される時間は、オーバーヘッドをはるかに上回ります。

于 2009-07-30T14:03:24.723 に答える
1

GridView は優れた非常に強力なコントロールであり、css またはテーマとうまく連携します。私を悩ませている唯一のことは、古い 1.1 DataGrid が asp.net 2.0 で GridView に置き換えられたときに VirtualCount プロパティが削除され、カスタム ページングの実装に役立つことです。ただし、データ アダプターを介して同じことができます。
リピーターを使用する方が明確であり、レンダリングされた html を完全に制御できますが、実装と保守が難しいため、その方法をお勧めしません。

于 2008-11-12T13:31:06.433 に答える
0

私はそれをすべて文脈の中で見ようとしています。優れたグリッドビュー(一度に10行、6列、並べ替え、ページングを表示)を備えたページがあり、ビューステートとともに作成されたhtmlテーブルを見ると、29kのコードしか表示されていません。 。

リピーターまたはリストビューを使用するための29k対18kは、これらのブロードバンド時代に本当にすべての努力の価値がありますか?

私は個人的にグリッドビューに固執していますが、一緒に仕事をしているデザイン担当者は、cssを介してスタイルを設定しようとすることに不満を感じることがあります。

于 2009-03-05T18:20:06.997 に答える
0

あなたの投稿を読んでいるだけです。PHPはaspよりも簡単だと思います。しかし、フォームビューとグリッドビューにビジュアルスタジオを使い始めたばかりです。VB または C# プログラマーにとって、これほど簡単なことはありません。ASP では、大きなファイルをアップロードする際にまだ問題があります。PHPは簡単です。IIS 7.5 で PHP を実行しています

于 2012-07-18T21:55:12.717 に答える
0

私は中程度のレベルの開発者です。これらのコントロールがなければ、開発を学ぶことはできませんでした.カスタマイズする方法が見つかるまで、しばらくの間、それを認めなければなりません.最終結果は素晴らしいものになります.

于 2008-11-23T01:27:00.410 に答える