さて。前回の NetAdvantage Silverlight for Data Visualizatoin のブログに続いて、今度はLOBのほうのCTPについてのブログを連投します。
CTPはここからダウンロードできますので実際にソースコードや動作を確認しながら見てください。
(こちらはあくまでCTP版になるので、製品リリース時には仕様変更がある可能性があります。もちろん、製品版にはさらに多くのコントロールが含まれる可能性があります)
NetAdvantage Silverlight LoB 2010-CTPに含まれるコントロール
xamWebRibbon (ザムウェブリボン)
これはご覧のとおり、SilverlightむけのOffice2007スタイル Ribbonコントロールです。
LoB(業務アプリ)をターゲットとすると使い易いメニューの提供は必須になってくるので、Office Fluent UI に準拠したリボンの必要度はかなり高いと思います。
xamWebGrid の新機能
今回、xamWebGrid(ザムウェブグリッド)にも多くの機能強化が予定されています。CTPで公開されている3機能を紹介します。
新機能その1ー行ごとの詳細テンプレート
多くのご要望にお応えすべく、xamWebGrid に行レベルの詳細テンプレート機能が追加されます。
新機能その2ーアンバウンド列サポート
データソースにバインドしない列や、計算結果などを表示するための列をグリッドの列レイアウトに追加できるようになります。
新機能その3ーWCF RIA Servicesインテグレーション
WCF RIA Services に含まれる DomainDataSource をxamWebGridでも使えるようになります。
なお、RIA Servicesインテグレーションのサンプルは、その他のサンプルとは別のソリューションファイル(LobCtpRiaSampleBrowser.sln)に含まれています。こちらの動作を確認するためには Visual Studio 2008 において WCF RIA Services が動作する環境が必要になるのでご注意ください。
Persistence Framework (パーシステンスフレームワーク)
「グリッド上でユーザーが設定した列固定やソートの情報を保存することはできないか。」こういった質問はよく伺っていたのですが、今回そのあたりの実装の手間を大きく軽減するフレームワークとして、Persistence Frameworkが追加されます。この機能を用いると、Dependency Object に関する状態のセーブ・ロードを最小のコードで実現できます。もちろんInfragisticsのコントロール以外でも使用可能です。
たとえば以下のようなコードで、2つのグリッド間の状態(グルーピングやソートなど)をMemoryStream経由でコピーしています。ここでは単純にコントロール単位ですべての依存プロパティをコピーする例ですが、もちろん特定のプロパティ名やTypeに応じた処理も可能です。
Zip圧縮・解凍フレームワーク
NetAdvantage Silverlight LoB 2009.1のExcelエンジン同様、LoBにおける重要シナリオを簡単に実現するための機能強化といえるのがこのZipフレームワークといえるでしょう。これはご想像どおり、Silverlight単体で完結するZip圧縮・解凍ライブラリーです。クライアント上のZipファイルを開いたり、または複数ファイルを圧縮したりといった作業がSilverlight上で完結する上、Deflate圧縮やプロテクト付きパスワードなどにも対応しています。
どうでしょうか。リボンやグリッドといったコントロールの追加をはじめ、Ria Services 上で使いやすくなったり各種フレームワークが追加されたりと、いよいよ現場レベルでも始動をはじめた Silverlight開発をサポートする機能を豊富に取り揃えています。もちろん製品版にはさらに多くの機能を予定していますので、今後の展開にもご期待していただきつつ、まずはCTPをチェックしてくださいね。