Skip to main content

How to: Show a Complex Property Value in DataItemTemplate of a Column

  • 3 minutes to read

The following example demonstrates how to show a complex property value in DataItemTemplate of a column that uses BindingExpressions.

<dx:aspxcardview ID="ASPxCardView1" AutoGenerateColumns="False"  EnableCardsCache="False" runat="server" DataSourceID="ObjectDataSource1" KeyFieldName="Id">
    <SettingsBehavior AllowFocusedCard="True" />
    <Columns>
        <dx:CardViewTextColumn FieldName="Id" VisibleIndex="0" Width="10%">
        </dx:CardViewTextColumn>
        <dx:CardViewTextColumn FieldName="Name" VisibleIndex="1" Width="30%">
        </dx:CardViewTextColumn>
        <dx:CardViewTextColumn Caption="Street" FieldName="Address" VisibleIndex="2" Width="30%">
            <DataItemTemplate>
                <dx:ASPxTextBox ID="ASPxTextBox1" runat="server" Text='<%# Eval("Address.Street") %>' Width="100%"></dx:ASPxTextBox>
            </DataItemTemplate>
        </dx:CardViewTextColumn>
        <dx:CardViewTextColumn Caption="City" FieldName="Address" VisibleIndex="3" Width="33%">
            <DataItemTemplate>
                <dx:ASPxTextBox ID="ASPxTextBox2" runat="server" Text='<%# Eval("Address.City") %>' Width="100%"></dx:ASPxTextBox>
            </DataItemTemplate>
        </dx:CardViewTextColumn>
    </Columns>
</dx:aspxcardview>
<asp:ObjectDataSource ID="ObjectDataSource1" runat="server" SelectMethod="SelectData" TypeName="Person">
</asp:ObjectDataSource>    
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Collections.Generic;

public class Person {
    private int id;
    private string name;
    private Address address;

    public Person() {

    }
    public Person(int id, string name, Address address) {
        this.id = id;
        this.name = name;
        this.address = address;
    }

    public int Id { get{ return id; } }
    public string Name { get{ return name; } }
    public Address Address { get{ return address; } }

    public List<Person> SelectData() {
        List<Person> persons = new List<Person>();
        persons.Add(new Person(0, "John", new Address("Home Lane", "Homesville")));
        persons.Add(new Person(1, "Henry", new Address("436 1st Ave", "Cleveland")));
        return persons;
    }
}

public class Address {
    string street;
    string city;
    public Address(string street, string city) {
        this.street = street;
        this.city = city;
    }

    public string Street { get { return street; } }
    public string City { get { return city; } }}