GridView
プロパティを使用してデータを簡単に視覚化しようとしていDataSource
ます。これはアトミック データ型ではうまく機能しますが、カスタム クラスの場合、C# はそれらを表示する方法を知りません。カスタマイズされた方法でアイテムを表示する方法をどのように伝えることができますか?
次のコード:
[DisplayName("Person")]
public class Person
{
public Person(string first, string last)
{
FirstName = first;
LastName = last;
}
public string FirstName { get; set; }
public string LastName { get; set; }
}
[DisplayName("Some contract")]
public class Contract
{
public Contract(Person employer, Person employee, int salary)
{
Employer = employer;
Employee = employee;
Salary = salary;
}
public Person Employer {get; set;}
public Person Employee { get; set; }
public int Salary { get; set; }
}
class MyGridView : GridView
{
public MyGridView()
{
Person[] people = { new Person("John", "Smith"), new Person("Adam", "Bell"), new Person("Kate", "Regan") };
Contract[] contracts = { new Contract(people[0], people[1], 10000), new Contract(people[0], people[2], 30000) };
this.DataSource = contracts;
}
}
これを生成します:
理想的にはGridReportForm+Person
、「ジョン・スミス」、「アダム・ベル」などと言ってほしいです。これを達成する方法はありますか?