SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

Infragistics NetAdvantageチュートリアル(PR)

VirtualCollectionフレームワークを使ったロードオンデマンド処理の実装

NetAdvantage Silverlight LOB 機能解説

  • このエントリーをはてなブックマークに追加

VirtualCollectionを使って
DataGridのスクロール処理をロードオンデマンド化する

 VirtualCollectionを使うとスクロール処理に連動したロードオンデマンドも簡単に実現できます。ページングは「いちいちページをクリックする」労力が発生することもあり、ユーザー視点では比較的負荷が高いUI操作ですが、それに比べるとスクロール操作はマウスのホールド&ドラッグだけなので、より自然なデータブラウジング方法として好まれる場面は多いです。

 以下の実行例スクリーンショットを見ると、スクロール操作に連れて必要なデータリクエストが行われている様子が確認できます。例えば数万件といったデータをスクロール・ブラウジングする必要があるような要件がある場合、このようなロードオンデマンドの実装が必須となるでしょう。

DataGridのスクロール処理をロードオンデマンドで行う実行例
DataGridのスクロール処理をロードオンデマンドで行う実行例

 スクロール処理にロードオンデマンドを適用する際の実装については、ページングを使用する場合とほとんど変わりません(VirtualCollection.PageSizeプロパティの指定が不要、というくらいです)。詳しくはサンプルコードをダウンロードして動作と合わせて確認してください。また、VirtualCollectionのその他の機能については以下のオンラインヘルプ トピックも併せて確認してください。

まとめ

 今回の記事ではVirtualCollectionを使ったロードオンデマンドの実装に焦点を当て、標準のDataGridコントロールと組み合わせを例にとって解説しました。もちろんNetAdvantageに含まれる、高機能なデータグリッドコントロールxamWebGridと組み合わせて使うと効果が倍増します(xamWebGridについては『Silverlight用の高機能データグリッドコントロール「xamWebGrid」活用術』もご覧ください)。xamWebGridが持っている「遅延スクロール機能」と組み合わせることや、編集操作やグルーピング、フィルタといった拡張機能にも対応することができます。

 NetAdvantage Silverlightには今回取り上げたVirtualCollectionをはじめ、ドラッグ&ドロップ フレームワーク、コントロールの状態保持を実現するパーシステンス フレームワークなど、一般的なUI要件の実装をスムーズに行うためのフレームワークも多く収録されています。これらのフレームワーク群はリッチなコントロールが必要ないケースでも単体で活用できるものなので、ぜひチェックしてみてください。

この記事は参考になりましたか?

  • このエントリーをはてなブックマークに追加
Infragistics NetAdvantageチュートリアル連載記事一覧

もっと読む

この記事の著者

インフラジスティックス・ジャパン株式会社 山田 達也(インフラジスティックス・ジャパンカブシキガイシャ ヤマダ タツヤ)

国内ソフトベンダーにて多数の.NETプロジェクトに携わる。現在はインフラジスティックス・ジャパンで開発サポートを担当しつつ、リッチクライアントやRIA技術を広めるべくエバンジェリスト修行中。趣味は全国競馬場巡りで夢はラスベガス在住。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/5280 2010/06/25 18:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング