SPREAD for .NETを使った開発のキモを伝授
今でこそ、市販コンポーネントを購入してフレームワークに機能を追加するということは開発の現場で認知されていますが、Visual Basic 2.0が発売された当時は、言語ソフト以外で別途購入が必要なものといえば特定機器を使うためのドライバなどのライブラリというイメージが強かったです。
そのような状況で、市販コンポーネントを購入してGUIを作成するという流れを決定づけたのが、文化オリエント(現在のグレープシティ)のInputManとSPREADでした。特にSPREAD/VBXやSPREAD/OCXは、Visual Basicに添付されていたGrid系コントロールとは、別次元の表現力と多機能さを備えていて、Visual Basicで作成する業務アプリケーションの開発手法に大きな影響を与え、数多くの業務アプリケーションで文化オリエントのSPREAD/OCXが使われる結果となりました。
しかしながら、SPREAD/OCXは多機能さであるがゆえに、ヘルプに書かれているすべてのメンバ(メソッド、プロパティ、イベント)を理解してから使い始めようとして「使うのが大変だ」と漏らす開発者も多かったようです。冗談のように聞こえるかもしれませんが、「製品に添付されていたヘルプドキュメントに書かれた機能が、すべて書かれているとおりに動作しなければ使用不可」といったことを平然と言ってのけるチームリーダーも当時はいました。
多機能なコンポーネントを使いこなすコツは、自分たちが使う機能については徹底的にノウハウをため込み、それ以外の機能についてはざっくりと把握し、習得時間の短縮と習得内容の質向上を同時に図ることです。
そこで本稿では、筆者が一覧表系の業務アプリケーションを実際に作成したときに使った機能を中心に紹介し、SPREAD for .NET Windows Forms Editionを使った開発ノウハウを短時間で会得してもらう目論見でいます。
まずはデータセットの内容を簡単に表示
SPREAD for .NETは多機能であると同時に、簡単に使えるモードも完備しています。例えば、DataSetの内容を一覧表示するのであれば、サンプルソース内の「CZ0909FollowerType1」(リスト1)のようなコードだけで、図1の実行結果が得られます。
Private Sub Get_Button_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles Get_Button.Click Using _proc As New Twitter Me.FpSpread1_Sheet1.DataAutoSizeColumns = True Me.FpSpread1_Sheet1.DataAutoCellTypes = True Me.FpSpread1_Sheet1.DataSource = _proc.GetFollowers(Me.UserID_TextBox.Text, _ Me.Password_TextBox.Text) End Using End Sub
- DataAutoSizeColumnsプロパティをTrueにして、列のサイズを自動設定する
- DataAutoCellTypesプロパティをTrueにして、列のセル型をDataSetの列定義より自動設定する
このサンプルのDataSetの内容は、Twitterと呼ばれるコミュニケーションサービスで、自分の発言を購読してくれている人の一覧になっています。このようにDataSet形式のデータであれば、データベースから取得したデータでなくとも、簡単に表示が可能です。