SHOEISHA iD

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

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

Infragistics NetAdvantageチュートリアル

Windowsアプリケーションで表現力の高い表を簡単に実装する

Infragistics NetAdvantageチュートリアル その5 - UltraWinGridのさまざまな機能


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

UltraWinGridでデータバインド

 それでは、UltraWinGridの機能について見ていくことにしましょう。まずは、データバインドです。バックエンドにデータベースを持つアプリケーションは、ビジネスの世界で利用される最も一般的な形です。データベースからデータを取得し、クライアントアプリケーションで表示・編集し、またデータベースに保存する。この流れは変わりませんが、実にいろいろな方法が存在しています。

 UltraWinGridにおけるデータバインドの方法を説明する前に、対象となるデータベースを準備しておきましょう。「Northwind and pubs Sample Databases for SQL Server 2000」をダウンロード、インストールし、SQL Management Studioなどで「instnwnd.sql」を実行して、サンプルデータベースを作成してください。

 Windowsアプリケーションプロジェクトを開始して、プロジェクトにデータセットを追加します。[データ]メニューの[データソースの表示]を選択して、データソースウィンドウを表示しておきましょう(図4)。ここから表示するデータを選択します。

図4 - データソースウィンドウ
図4 - データソースウィンドウ

 ここで、データを表示するためのコントロールを選択することになるのですが、デフォルトでは、DataGridViewと詳細しか用意されていません。[カスタマイズ...]を選んで、UltraWinGridを選べるように設定します。表示されたダイアログボックスの[オプション]-[データ UI カスタマイズ]で、「UltraGrid」など、必要なコントロールにチェックを入れ、関連付けを行ってください(図5)。

図5 - データUIカスタマイズ
図5 - データUIカスタマイズ

 ここまでの準備が完了すれば、後は表示するデータを選ぶだけです。テーブルやストアドプロシージャをマウスでクリックすると、コンボボックスが表示されるので、そこでUltraWinGridを選び、フォームにドラッグ&ドロップしてください。自動的に必要なコントロールが追加され、データバインドを行ってデータベースにアクセスできるようになります。

 これでUltraWinGridでのデータバインドは完成です。基本的に、これだけでデータベースのデータを表示したり、編集して保存することが可能です。もっとも、これだけではちょっと味気ないので、UltraWinGridのデザイン設定を変更して、さらに使いやすい形にしていくことにしましょう。

UltraWinGridのデザイン

 先ほど、UltraWinGridをフォームに追加したとき、コントロール上に[スタート]ボタンが表示されていたと思います(図6)。もちろん、プロパティウィンドウから一つ一つ設定していってもよいのですが、UltraWinGridデザイナを使えば、プロパティウィンドウでの設定よりも簡単に、細かな設定を行うことができます。

図6 - コントロールの[スタート]ボタン
図6 - コントロールの[スタート]ボタン

 ここでは、このUltraWinGridデザイナを利用して、いくつかの設定を行っていきましょう。まずは、Outlookスタイルのグループ化機能です。Outlookでは、一覧表示したデータをグループ化するために、列ヘッダをドラッグ&ドロップすることができます。UltraWinGridでも、同様の機能をサポートしているので、プロパティを設定するだけでこの機能が実現できるのです(図7)。

図7 - Outlookスタイルのグループ化
図7 - Outlookスタイルのグループ化

 UltraWinGridデザイナで、[基本設定]-[機能の選択]で[Outlook Group By]を選び、「アクティブ」にチェックを入れます(図8)。このとき、項目上にマウスカーソルを移動すると、実際のプロパティと値がポップアップで確認できるのがなかなか便利です。プログラムコードを記述していて「あれ? どのプロパティだったかな?」と迷ったとき、ヘルプを使うのも一つの方法ですが、ここで確認するのもよいでしょう。

図8 - Outlook Group By
図8 - Outlook Group By

 続いて、複数列を利用したソート機能を追加してみます。これまた、プロパティの設定はとても簡単です。先ほどと同じように、[基本設定]-[機能の選択]から[ヘッダークリック時のソートアクション]を選び、「複数列でソート」にチェックを入れます。これだけで、複数列を使ったソートが実現可能です。複数列でソートを行うときは、[Shift]キーを押しながら、二番目以降の列ヘッダーをクリックします(図9)。ソートを行いたくないときは、HeaderClickActionプロパティにHeaderClickAction.Select列挙値を設定するということもできます。

図9 - 複数列でのソート
図9 - 複数列でのソート

 UltraWinGridのデザインでは、ほかにもさまざまな設定を行うことができますし、UltraWinGridの機能は、とても一回の記事で紹介できる量ではありません。残念ながらページの都合もありますので、次に紹介する機能で最後にしたいと思います。フィルタリングというと、ExcelやAccessでもおなじみの、ユーザーの手によって表示するデータを制限するという機能です。いちいちデータベースにアクセスするわけではなく、クライアント側で完結するため、ユーザーにも優しい機能と言えるでしょう。

 このフィルタリング設定は、少々面倒です。といっても、先ほどまでと同じようにUltraWingGridデザイナからの設定だけで行うことができます。[基本設定]-[機能の選択]で[フィルタ]を選び、表1のように設定してください。これだけの設定で、簡単にフィルタリング機能が実現できました。アプリケーションを実行してみると図10のようになります。

表1 - フィルタの設定
許可する許可する
アクションフィルタによって除外された行を隠す
フィルタ範囲バンドのすべての行
フィルタUIタイプヘッダーアイコン
フィルタ行すべてデフォルト
図10 - フィルタリング
図10 - フィルタリング

次のページ
プリセット

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

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

もっと読む

この記事の著者

こだかかおる(コダカカオル)

Microsoft Most Valuable Professional Visual Developer - Visual C# .NETによるアプリケーション開発を中心に、IT全般について何でもやるソフトウェアエンジニア。更新をさぼりがちなWebサイトはこちら(http://www.antoine.st/)。

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

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

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/1689 2008/07/14 19:35

おすすめ

アクセスランキング

アクセスランキング

イベント

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

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

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

メールバックナンバー

アクセスランキング

アクセスランキング