SHOEISHA iD

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

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

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

一覧更新画面を持つWebアプリの作り方~MultiRow for ASP.NETの編集機能を使いこなす!

1レコード複数行表示を実現するMultiRow for ASP.NETの実力(後編)

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

ダウンロード サンプルソース (83.3 KB)

ドロップダウンリストの選択候補をバインドする

 入力データは、アンバウンドモードで使う場合でも、ドロップダウンリストの選択候補を、データソースからバウンドするような使い方もできます。

 今回のサンプルでは、ObjectDataSourceを使っているので、リスト5のようなデータ取得用のクラスを作成します。

リスト5 マスタ取得コード例
Public Function GetCategory(ByVal userID As String,
                           ByVal password As String) As DataSet
    Dim ds As New DataSet
    Using _cn As New OleDb.OleDbConnection()
        _cn.ConnectionString = String.Format(ConfigurationManager.AppSettings("ConnectionString"),
               userID,
               password)
        _cn.Open()
        Using _cmd As New OleDb.OleDbCommand
            _cmd.Connection = _cn
            _cmd.CommandText =
                "SELECT DISTINCT Bill.Category " &
                  "FROM Bill " &
                 "ORDER BY Bill.Category"
            Using _da As New OleDb.OleDbDataAdapter(_cmd)
                _da.Fill(ds, "Category")
            End Using
        End Using
        _cn.Close()
    End Using
    Return ds
End Function

 このクラスとメソッドを、ObjectDataSourceに定義します。aspxファイルを開いて、ObjectDataSourceコントロールをツールボックスからドラッグ&ドロップしたら、「データソースの構成」ダイアログでクラス名とメソッド名を選択します。

図4 「データソースの構成」ダイアログ
図4 「データソースの構成」ダイアログ

 図4のダイアログで設定すれば、aspxファイルには次のようなコードが自動設定されます。

リスト6 マスタ設定用データソース例
<asp:ObjectDataSource ID="ObjectDataSource2" runat="server" SelectMethod="GetCategory"
    TypeName="CZ1008Bound">
    <SelectParameters>
        <asp:Parameter Name="userID" Type="String" />
        <asp:Parameter Name="password" Type="String" />
    </SelectParameters>
</asp:ObjectDataSource>

 このデータソースをMultiRowのDropDownListセルに割り当てるには、リスト7のように、「datasourceid」「dataextfield」「datavaluefield」の設定を行います。今回は、「表示値 = 設定値」なので、dataextfielddatavaluefieldには同じ値を設定しています。

リスト7 選択候補にデータソースを設定する例
<dropdownlistcell datafield="Category"  
    datasourceid="ObjectDataSource2" datatextfield="Category" datavaluefield="Category" 
    location="196, 20" name="Category" tabindex="4"  />
図5 ドロップダウンリストの実行例
図5 ドロップダウンリストの実行例

次のページ
バウンドモードを使って更新系画面を作成しよう

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

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

もっと読む

この記事の著者

初音玲(ハツネアキラ)

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

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

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

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/5402 2010/09/02 15:15

おすすめ

アクセスランキング

アクセスランキング

イベント

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

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

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

メールバックナンバー

アクセスランキング

アクセスランキング