C#数据绑定子对象集合

时间:2012-09-02 17:05:09

标签: c# data-binding collections

我将对象集合数据绑定到datagridview,如下所示:

    public BindingList<Selection> selections = new BindingList<Selection>();
    dgvSelections.DataSource = selections;
    if (!mainForm.selections.Contains(mySelection))
    {
       mainForm.selections.Add(mySelection);
       mainForm.dgvSelections.Refresh();                        
    }
    else
    {
       int index = mainForm.activeArbSelections.IndexOf(mySelection);
    }

'Selection'对象如下所示:

public class Selection : INotifyPropertyChanged, IComparable
{

    private Int64 id;
    public Int64 ID
    {
        get { return id; }
        set
        {
            id = value;
        }
    }

    public SortedDictionary<Int64, Quote> quotes = new SortedDictionary<Int64, Quote>();
    public SortedDictionary<Int64, Quote> Quotes
    {
        get { return quotes; }
        set
        {
            quotes = value;
            NotifyPropertyChanged("quotes");
        }
    }

'Quote'对象如下所示:

public class Quote
{
    public string name;
    public Int64 ID;

当我将'selections'集合数据绑定到dgvSelections datagridview并将选择添加到集合时,datagridview在datagridview中显示ID变量,然后只显示'quotes'对象的文本'Collection'作为占位符,或对象类型等。

如何让datagridview显示以下内容:对于每行(选择),“引号”集合中每个引号的单元格显示引号的名称和ID?事实上,对于每个引用都有一个单元格,并且某种连接的文本变量显示名称和ID作为字符串或其他东西,我会很开心。以防万一:不同的行(选择)可能具有与之关联的不同数量的引号。

基本上,我可以在一个单独的行上显示每个选择,并将该选择中的所有相关变量显示在datagridview中,但是我无法在每个选择中显示引号集合中的所有引号。

我很欣赏这方面的任何指示。 感谢。

1 个答案:

答案 0 :(得分:1)