SHOEISHA iD

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

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

現役エンジニア直伝! 「現場」で使えるコンポーネント活用術(SPREAD)

SPREAD for .NET Web Forms Ed.の表現力で魅力あるWebアプリケーションを作成する

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

ダウンロード サンプルソース (2.7 MB)

デザイナを使ってデザインする

 サンプル「CZ0910FollowerType2」でコードを明記して指定したデザインは、SPREAD for .NETのデザイナを利用して実現することもできます。デザイナを使えば.aspxの中にプロパティとして記述され、IDEでも一部を除いて表示フォーマットと同じ見た目で表示できます。サンプル「CZ0910FollowerType3」では、デザイナを使った設定にしています。

図5 サンプル「CZ0910FollowerType3」のIDEでの表示
図5 サンプル「CZ0910FollowerType3」のIDEでの表示

シートの設定

 プロパティウィンドウで、SPREAD for .NETのSheetsプロパティにあるボタンをクリックすると、SheetViewコレクションエディタが起動します。次のプロパティを設定します。

SheetViewコレクションエディタでの設定
AllowUserFormula False
AutoGenerateColumn False
ColumnCount 9
DataAutoCellTypes False
OperationMode ReadOnly
ReferenceStyle R1C1
図6 SheetViewコレクションエディタ
図6 SheetViewコレクションエディタ

列の設定

 列の設定はSPREADデザイナからサイドメニューの「セル」を選びます。

図7 SPREADデザイナ
図7 SPREADデザイナ

 「セル」は、列ヘッダをクリックして列を選択すれば列の設定プロパティ、行ヘッダをクリックして行を選択すれば行のプロパティ、セルを範囲指定すればセルのプロパティが設定できます。

 また、Formulaプロパティに数式を設定するときも、数式エディタを使えば数式の正当性がチェックできるため、修正と実行を繰り返して数式を探る必要がなくなります。

図8 数式エディタ
図8 数式エディタ

 SheetViewコレクションエディタからはシートスキンエディタも表示可能なので、スキンを切り替えながら好みのデザインを探せるので便利です。

図9 シートスキンエディタ
図9 シートスキンエディタ

コードの追加

 型付きデータセットをDataSourceプロパティに指定してあれば、SPREADデザイナの中でDataFieldプロパティを設定できますが、今回のサンプル「CZ0910FollowerType3」は型付きデータセットではないため、ページロードで設定する必要がありますが、サンプル「CZ0910FollowerType2」よりもコード量は少なくなっています。

 また、OnPreRenderイベントにてサンプル「CZ0910FollowerType2」と同様に、再計算と画像表示のコードの記述が必要です。

リスト13 ページロード時の追加処理
Private Sub Me_Load()
    'スタイル設定用CSSを自動生成して使用する
    Me.FpSpread1.RenderCSSClass = True
    '行高/列幅を変更できないようにする
    Me.FpSpread1.ActiveSheetView.RowHeader.Rows.Default.Resizable = False
    Me.FpSpread1.ActiveSheetView.ColumnHeader.Columns.Default.Resizable = False
    '列の定義を行う
    With block
        'ID列は非表示にする
        Me.FpSpread1.ActiveSheetView.Columns(0).DataField = "ID"
        Me.FpSpread1.ActiveSheetView.Columns(0).Visible = False
        '名前列の設定を行う
        Me.FpSpread1.ActiveSheetView.Columns(2).DataField = "Name"
        'ID名列の設定を行う
        Me.FpSpread1.ActiveSheetView.Columns(3).DataField = "ScreenName"
        'プロテクション列は非表示にする
        Me.FpSpread1.ActiveSheetView.Columns(4).DataField = "IsProtected"
        Me.FpSpread1.ActiveSheetView.Columns(4).Visible = False
        'フォロー列は非表示にする
        Me.FpSpread1.ActiveSheetView.Columns(6).DataField = "IsFollowing"
        Me.FpSpread1.ActiveSheetView.Columns(6).Visible = False
        '最新の発言列の設定を行う
        Me.FpSpread1.ActiveSheetView.Columns(8).DataField = "StatusText"
    End With
End Sub

 .NET標準のRepeaterコントロールを使った場合、HTMLで作成した1行分の表示を確認するのにも、実行する必要があります。多少のコーディングは必要ですがSPREADデザイナを使う事で実行せずにデザインを確認しながら見た目を調整できるデザイナの存在は開発の現場では“心強い”のひとことにつきます。

まとめ

 SPREAD for .NET Web Forms Ed.は、HTMLやCSSに詳しくない人でもSPREADエディタを使って綺麗な一覧表を作成できます。また、編集中でもデザインが確認できるのも便利です。

 HTMLにはtableタグがあるため、Webアプリケーションで一覧表は簡単に作れそうですが、さまざまな要件を満たし、デザイン的にも使いやすいものを作ろうとすると一気に難易度が上がります。この上がった難易度を、また強制的に下げてくれるのがSPREAD for .NET Web Forms Ed.と言えるでしょう。

製品情報

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

  • このエントリーをはてなブックマークに追加
現役エンジニア直伝! 「現場」で使えるコンポーネント活用術(SPREAD)連載記事一覧

もっと読む

この記事の著者

初音玲(ハツネアキラ)

 国内SIerのSEでパッケージ製品開発を主に行っており、最近は、空間認識や音声認識などを応用した製品を手掛けています。 個人的には、仕事の内容をさらに拡張したHoloLensなどのMRを中心に活動しています。 Microsoft MVP for Windows Development ブログ:http://hatsune.hatenablog.jp/

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

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

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/4523 2009/10/26 14:00

おすすめ

アクセスランキング

アクセスランキング

イベント

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

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

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

メールバックナンバー

アクセスランキング

アクセスランキング