バージョン

xamDataGrid でフィールドとして xamTextEditor を使用

xamTextEditor™ コントロールの重要な機能は、xamDataGrid™ Field に組み込むことができることです。この機能によって、セルの値を修正する間にエンドユーザーはエディタの機能を十分に活用することができます。

これらの手順に従って、xamDataGrid の Field に xamTextEditor を表示します。

  1. Microsoft® Windows® Presentation Foundation Window または Page プロジェクトを作成します。

  2. 以下の名前空間宣言を開始の Page タグまたは Window タグに配置します。これらの宣言によって、 xamDataGrid、xamTextEditor を参照してタイプを定義することができます(つまり Int32、Boolean)。

XAML の場合:

xmlns:igDP="http://infragistics.com/DataPresenter"
xmlns:igEditors="http://infragistics.com/Editors"
xmlns:sys="clr-namespace:System;assembly=mscorlib"
  1. XmlDataProvider を定義するリソース セクションを作成します。XmlDataProvider は Employees XML ファイルを参照します。Grid パネル内に以下の XAML を配置します。

XAML の場合:

<Grid.Resources>
        <XmlDataProvider Source="../Data/Orders.xml"
          x:Key="OrderData" XPath="/Orders" />
</Grid.Resources>
  1. XamDataGrid のインスタンスを作成して名前を指定し、前述の手順で作成された XmlDataProvider に DataSource プロパティを設定します。

XAML の場合:

<igDP:XamDataGrid x:Name="XamDataGrid1"
  DataSource="{Binding Source={StaticResource OrderData}, XPath=Order}">
        ...
</igDP:XamDataGrid>
  1. FieldLayoutSettings オブジェクトの AutoGenerateFields プロパティを False に設定します。前述の手順で作成されたタグの間に以下の XAML を配置します。

XAML の場合:

...
<igDP:XamDataGrid.FieldLayoutSettings>
        <igDP:FieldLayoutSettings AutoGenerateFields="False" />
</igDP:XamDataGrid.FieldLayoutSettings>
...
  1. 以下の XAML は Fields を作成し、最初の Field に対して FieldSettings EditAsType および EditorType の各プロパティを設定します。EditAsType プロパティを String に設定します。EditorType プロパティは、使用する ValueEditor のタイプを定義します。このケースでは、XamTextEditor を使用しています。このコードを前述の手順のコードの下に配置します。

XAML の場合:

...
<igDP:XamDataGrid.FieldLayouts>
        <igDP:FieldLayout>
                <igDP:FieldLayout.Fields>
                        <igDP:Field Name="ProductName" >
                                <igDP:Field.Settings>
                                        <igDP:FieldSettings
                                          EditAsType="{x:Type sys:String}"
                                          EditorType="{x:Type igEditors:XamTextEditor}"/>
                                </igDP:Field.Settings>
                        </igDP:Field>
                        <igDP:Field Name="CostPerUnit" />
                        <igDP:Field Name="ShipAndHandle"/>
                </igDP:FieldLayout.Fields>
        </igDP:FieldLayout>
</igDP:XamDataGrid.FieldLayouts>
...
  1. プロジェクトをビルドして実行します。Field で xamTextEditor を使用する時の違いに気づきません。ただし、セル値を取得する場合には違いに気づきます。xamTextEditor に数値データを配置しようとする場合には、エディタは数字を文字列として返します。数値エディタに数値データを配置した場合、エディタは設定されているタイプでその値を返します(つまり、Int32、Double)。

xamTextEditor Using xamTextEditor as a Field in xamDataGrid 01.png