У меня есть ListBox и 2 DataGridViews.
У меня есть объект, который имеет
[Serializable]
public class Process
{
...
public string ProcessName { get; set; }
public List<Step> Steps { get; set; }
}
[Serializable]
public class Step
{
...
public List<StepEvent> StepEvents { get; set; }
}
[Serializable]
public class StepEvent
{
...
public int EventId { get; set; }
}
Я могу соединить список и первую сетку, но не могу подключить вторую сетку. Я не думаю, что могу использовать DataRelation, потому что это объект, а не DataTable
Код пока что
List<Process> processes = new XMLHelper().CreateObject<List<Process>>(GetXmlProcess());
listProcess.DataSource = processes;
listProcess.DisplayMember = "ProcessName";
listProcess.ValueMember = "ProcessName";
dgSteps.DataSource = processes;
dgSteps.DataMember = "Steps";
//List<Step> steps = (from p in processes
// from st in p.Steps
// select st).ToList();
dgStepEvents.DataSource = processes;
dgStepEvents.DataMember = "Steps.StepEvents";
Независимо от того, что я делаю, dgStepEvents.DataMember выдает ошибку. Как видите, я попробовал LINQ, но тогда [steps] - это новый объект, который не связывается.
2-й связанный вопрос:
Я много читал BindableSource, но подумал, что мне не нужно что-то подобное, поскольку просмотр списка и сетка данных уже синхронизированы.