Предположим, у меня есть
class Person
{
public int Id {get;set;}
public string Name {get;set;}
public List<Person> All {get;set;}
public Person()
{
}
public List<Person> GetAll()
{
//fills the list with person and returns
}
}
и что у меня есть:
class Address
{
public int PersonId {get;set;}
public string theAddress {get;set;}
public List<Address> All {get;set;}
//constructor, etc
public List<Address> GetAll()
{
//fills the address list and returns
}
}
Что я пытаюсь сделать, это в точности следующее:
//filling the maintemplate with data
radGridView1.DataMember = "Person";
radGridView1.DataSource = new Person().GetAll();
//address template, the child one
GridViewTemplate template = new GridViewTemplate();
template.DataSource = new Address().GetAll();
template.DataMember = "Address";
radGridView1.MasterTemplate.Templates.Add(template);
//now the relation between those 2 classes
GridViewRelation relation = new GridViewRelation(radGridView1.MasterTemplate);
relation.ChildTemplate = template;
relation.RelationName = "PersonAddress"; //just a name
relation.ParentColumnNames.Add("Id"); //field to be "joined" to create the relation
relation.ChildColumnNames.Add("PersonId"); //same as above
radGridView1.Relations.Add(relation);
и чтоя получаю именно сетку со знаком «+» рядом с каждым человеком. Проблема в том, что «дочерняя» сетка пуста, и если я пытаюсь добавить данные (по умолчанию это разрешено с пустым конструктором вкласс) я бросаю NullArgumentException
Есть идеи?Я почти сдаюсь.Моя проблема: я использую пользовательские объекты во всех проектах, это не так, как "вы используете наборы данных, оно готово к использованию и т. Д.", Я знаю это, но я хотел бы знать, есть ли способ использовать ПОЛЬЗОВАТЕЛЬСКИЕ ОБЪЕКТЫ или если я готови должны попробовать наборы данных ...
Спасибо, ребята