MESCIUS InputMan for ASP.NET 10.0J
InputManの複合データバインドコントロール

InputMan for ASP.NETでは、複合データバインドコントロールとして、コンボコントロールおよびリストコントロールを使用することができます。ここではASP.NETのデータソースコントロールを利用して、コンボコントロールに複合レコードをバインドする方法を解説します。

なお、接続するデータベースは、製品に付属している<製品インストールフォルダ>\Samples\Sample.zipに含まれる、Sample.mdb、データソースコントロールは、SqlDataSourceコントロールの使用を前提にしています。

設計時にデータベースに接続する

1. データソースを追加する

SqlDataSourceコントロールを使用し、データソースオブジェクトを作成します。
  1. WebフォームにSqlDataSourceコントロールを貼り付けます。
  2. スマートタグまたはコンテキストメニューから「データソースの構成」を選択します。
  3. 「データ接続の選択」で、あらかじめプロジェクトフォルダに配置した、Sample.mdbを選択し、データベースに接続します。
  4. テーブルの列から「セル型」を指定し、次のようなSELECTステートメントを作成し、〈次へ〉ボタンをクリックします。
    SELECT * FROM [セル型]
    
  5. 〈クエリのテスト〉ボタンをクリックし、データが取得できることを確認し、〈完了〉ボタンをクリックします。

2. コンボコントロールを設定する

作成したデータソースオブジェクトとコンボコントロールを接続します。
※同様の方法をリストコントロールでも実現できます。
  1. Webフォームにコンボコントロールを追加します。
  2. スマートタグまたはプロパティグリッドから、DataSourceIDプロパティに1. データソースを追加するで作成した"SqlDataSource1"に設定します。
  3. ListBoxプロパティが参照する、ListBoxオブジェクトのAutoGenerateColumnsプロパティとAutoWidthプロパティをTrueに設定します。
  4. プロジェクトを実行します。
コーディングでデータベースに接続する
以下のサンプルコードは、SqlDataSourceコントロールを使用してデータベースの内容をリストコントロールに表示する例です。

Friend sds As SqlDataSource

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
    If Not IsPostBack Then
        ' データソースを作成します
        sds = New SqlDataSource("System.Data.OleDb", "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\Sample.mdb;Persist Security Info=True", "SELECT * FROM 顧客")
        Page.Controls.Add(sds)
        
        ' 自動的にカラムが追加されるように設定します。
        GcListBox1.AutoGenerateColumns = True
        
        ' データソースをリストコントロールに設定します。
        GcListBox1.DataSource = sds
        GcListBox1.DataBind()
    End If
End Sub
protected SqlDataSource sds;

protected void Page_Load(object sender, EventArgs e)
{
    if (!IsPostBack)
    {
        // データソースを作成します
        sds = new SqlDataSource("System.Data.OleDb", "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\\Sample.mdb;Persist Security Info=True", "SELECT * FROM 顧客");
        Page.Controls.Add(sds);

        // 自動的にカラムが追加されるように設定します。
        GcListBox1.AutoGenerateColumns = true;

        // データソースをリストコントロールに設定します。
        GcListBox1.DataSource = sds;
        GcListBox1.DataBind();
    }
}
関連トピック

 

 


© MESCIUS inc. All rights reserved.