0

MyCustomers を TreeListControl TreeListColumn FieldName="Id" Binding="How to bind CustomerId" にバインドしたいのですが、どうすればよいですか?

<dxg:TreeListControl Name="MyControl" ItemsSource="{Binding Path=MyCustomers}" 
     Height="296" Width="750" Grid.Row="1" Grid.Column="0" HorizontalAlignment="Left">
    <dxg:TreeListControl.Columns>
        <dxg:TreeListColumn FieldName="Id"   Binding="How to Bind CustomerID ?????"    />
        <dxg:TreeListColumn FieldName="CustomerGroup" Binding="How to Bind CustomerGroup ?????" />
    </dxg:TreeListControl.Columns>
    <dxg:TreeListControl.View>
        <dxg:TreeListView AutoWidth="True" KeyFieldName="Id" ParentFieldName="ParentId" NavigationStyle="Row" />
    </dxg:TreeListControl.View>
</dxg:TreeListControl>

ビューモデル:

public class CustomerViewModel : BaseViewModel
{
    public IList<Model.App.Customer> MyCustomers
    {
        get;
        private set;
    }

    public CustomerViewModel()
    {
        CustomerDetail = new CustomerDetail();
        this.MyCustomers = CustomerRespiratory.SelectMyCustomers();
    }
}

モデル:

public class Customer 
{
  public int CustomerID { get; set;}
  public int CustomerGroup { get; set;}
}
4

1 に答える 1

1

CustomerID のみをキー フィールドとして指定し、CustomerGroup を親フィールドとして指定する必要があります。「自己参照データ構造へのバインド」の記事で非常に明確に説明されています。

<dxg:TreeListControl ItemsSource="{Binding Path=MyCustomers}">
    <dxg:TreeListControl.Columns>
        <dxg:TreeListColumn FieldName="CustomerId"/>
        <dxg:TreeListColumn FieldName="CustomerGroup"/>
    </dxg:TreeListControl.Columns>
    <dxg:TreeListControl.View>
        <dxg:TreeListView KeyFieldName="CustomerId" ParentFieldName="CustomerGroup" 
                AutoWidth="True" NavigationStyle="Row" />
    </dxg:TreeListControl.View>
</dxg:TreeListControl>

詳細については、「TreeListView データ バインディング」の記事を参照してください。

参照:
DXTreeList 入門 - レッスン 1 - データへのバインド

于 2012-10-10T14:22:00.873 に答える