バージョン

アクティブ レコードでセル値にアクセス

始める前に

Extensible Application Markup Language (XAML) を使用して xamDataPresenter™ のアクティブ レコードセル値にアクセスできます。これによって、TextBox コントロールの Text プロパティにアクティブ レコードのセルの値をバインドできます。この機能を使用して、データ入力またはデータ ナビゲーションおよび表示目的のために Window でセクションを作成することができます。

達成すること

XAML を使用してデータ入力作業のために Window にセクションを作成します。

次の手順を実行します

  1. Window にデフォルトのグリッド レイアウト パネル用の RowDefinitions を作成します。

XAML の場合:

<Grid>
        <Grid.RowDefinitions>
                <RowDefinition Height="3*" />
                <RowDefinition Height="2*" />
        </Grid.RowDefinitions>
        <!--方法: ここにコントロールを追加します-->
</Grid>
  1. xamDataPresenter コントロールを Window に追加します。

    1. xamDataPresenter コントロールに名前を付けると、後で参照できます。

    2. BindToSampleData プロパティを True に設定します。このトピックは、目前のトピックに集中するためにサンプル データを使用します。

    3. 添付 Grid.Row プロパティを 0 に設定します。

XAML の場合:

...
<igDP:XamDataPresenter Name="xamDataPresenter1" BindToSampleData="True" Grid.Row="0">
</igDP:XamDataPresenter>
...
  1. セル値を修正するために TextBox コントロールを使用するので、xamDataPresenter コントロールの編集を無効にします。

    1. xamDataPresenter のタグ内の FieldSettings プロパティにタグを宣言します。

    2. FieldSettings プロパティのタグ内の FieldSettings オブジェクトを追加します。

    3. FieldSettings オブジェクトの AllowEdit プロパティを False に設定します。

XAML の場合:

...
<igDP:XamDataPresenter.FieldSettings>
        <igDP:FieldSettings AllowEdit="False" />
</igDP:XamDataPresenter.FieldSettings>
...
  1. StackPanel レイアウト コンテナーを Window に追加します。

    1. 添付 Grid.Row プロパティを 1 に設定します。

    2. バインディング表現を使用して、StackPanel コンテナの DataContext プロパティを xamDataPresenter1 コントロールの ActiveRecord プロパティに設定します。親コンテナーの DataContext を設定することで、よりシンプルなバインディング表現を使用して子にプロパティを設定できます。

XAML の場合:

...
<StackPanel
	Grid.Row="1"
	DataContext="{Binding ElementName=xamDataPresenter1, Path=ActiveRecord}">
        <!--方法: ここにデータ入力コントロールを追加します-->
</StackPanel>
...
  1. TextBlock コントロールを StackPanel レイアウト コンテナーに追加し、TextBlock の Text プロパティを設定します。

XAML の場合:

...
<TextBlock Text="Name:" />
...
  1. TextBox コントロールを StackPanel レイアウト コンテナに追加し、Text プロパティを Cells コレクションのセルの Value プロパティにバインドするためにバインディング表現を使用します。

親レイアウト コンテナの DataContext を xamDataPresenter1 コントロールの ActiveRecord プロパティに設定するので、プロパティ パスを使用してセルから値を取得できます。

XAML の場合:

...
<TextBox Text="{Binding Path=Cells[name].Value}" />
...
  1. 手順 6 と 7 を表示および/または編集したい各フィールドで繰り返します。

XAML の場合:

...
<TextBlock Text="Department:" />
<TextBox Text="{Binding Path=Cells[department].Value}" />
<TextBlock Text="Salary:" />
<TextBox Text="{Binding Path=Cells[salary].Value}" />
<TextBlock Text="Email Address:" />
<TextBox Text="{Binding Path=Cells[email].Value}" />
...
  1. プロジェクトを実行し、[レコード] をクリックして起動します。クリックしたレコードのセルの値が TextBox コントロールに表示されるはずです。TextBox の値を修正し、TextBox がフォーカスを失う場合、対応するセルの値も更新されます。

xamdatapresenter のアクティブ レコードでセル値にアクセス