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

InputMan for ASP.NETの各入力コントロールは、ASP.NETのデータバインドコントロールに配置することで、単一レコードに連結することができます。ここでは、FormViewコントロールのテンプレートに、InputMan for ASP.NETのコントロールを使用する方法を解説します。

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

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

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

SqlDataSourceコントロールを使用し、データソースオブジェクトを作成します。

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

2. FormViewコントロールを追加する

FormViewコントロールのテンプレートにInputMan for ASP.NETの各コントロールを配置します。

  1. WebフォームにFormViewコントロールを貼り付けます。
  2. スマートタグまたはプロパティグリッドから、DataSourceIDプロパティを「1. データソースを追加する」で作成した"SqlDataSource1"に設定します。
  3. スマートタグから「テンプレートの編集」を選択します。
  4. [ItemTemplate]にあるすべてのLabelコントロールを削除します。
  5. テキスト、マスク、日付時刻、数値、コンボの各コントロールを[ItemTemplate]に配置します。
  6. テキストコントロールのスマートタグから「DataBindingsの編集」を選択します。
  7. [バインド可能プロパティ]から[Text]を選択し、[フィールドのバインド]から[バインドするフィールド]に「デフォルト」を選択し、〈OK〉ボタンをクリックします。
  8. 同様に下記のように各コントロールのバインドデータを設定します。
    <asp:FormView ID="FormView1" runat="server" DataSourceID="SqlDataSource1">
        <ItemTemplate>
        デフォルト:
        <im_edit:GcTextBox id="GcTextBox1" runat="server" text='<%# Eval("デフォルト") >'></im_edit:GcTextBox>
        マスク:
        <im_mask# Eval("マスク") >'></im_mask:GcMask>
        日付:
        <im_date# GrapeCity.Web.Input.Core.DateTimeEx.Parse(Eval("日付").ToString()) >'></im_date:GcDateTime>
        数値:
        <im_number# Eval("数値") %>'></im_number:GcNumber>
        </ItemTemplate>
    </asp:FormView>

    日付時刻コントロールのValueプロパティはDateTimeEx型であるため、データ連結は、DateTimeEx型へ明示的に変換する必要があります。

  9. テンプレートの編集を終了し、プロジェクトを実行します。
書式を設定する
データ連結した各コントロールにも書式を設定することができます。デザイン時のプロパティページでの設定が最も容易ですが、ここではコードで設定する方法を紹介します。

Imports GrapeCity.Web.Input.IMMask
Imports GrapeCity.Web.Input.IMEdit
Imports GrapeCity.Web.Input.IMDate
Imports GrapeCity.Web.Input.IMNumber

Protected Sub FormView1_ItemCreated(ByVal sender As Object, ByVal e As System.EventArgs) Handles FormView1.ItemCreated
    Dim txt As GcTextBox = CType(FormView1.FindControl("GcTextBox"), GcTextBox)
    txt.Format = "J"

    Dim msk As GcMask = CType(FormView1.FindControl("GcMask1"), GcMask)
    msk.Format.Pattern = "〒\D{3}-\D{4}"

    Dim dt As GcDateTime = CType(FormView1.FindControl("GcDateTime"), GcDateTime)
    dt.DisplayFormat.Pattern = "gggee年MM月dd日"

    Dim num As GcNumber = CType(FormView1.FindControl("GcNumber1"), GcNumber)
    num.DisplayFormat.Digit = "#,##0.00"
End Sub
using GrapeCity.Web.Input.IMMask;
using GrapeCity.Web.Input.IMEdit;
using GrapeCity.Web.Input.IMDate;
using GrapeCity.Web.Input.IMNumber;

protected void FormView1_ItemCreated(object sender, EventArgs e)
{
    GcTextBox txt = (GcTextBox)FormView1.FindControl("GcTextBox1");
    txt.Format = "J";
    
    GcMask msk = (GcMask)FormView1.FindControl("GcMask1");
    msk.Format.Pattern = "〒\\D{3}-\\D{4}";
    
    GcDateTime dt = (GcDateTime)FormView1.FindControl("GcDateTime1");
    dt.DisplayFormat.Pattern = "gggee年MM月dd日";
    
    GcNumber num = (GcNumber)FormView1.FindControl("GcNumber1");
    num.DisplayFormat.Digit = "#,##0.00";
}
関連トピック

 

 


© MESCIUS inc. All rights reserved.