【问题标题】:C# Databinding a sub collection of objectsC# 数据绑定对象的子集合
【发布时间】:2012-09-02 17:05:09
【问题描述】:

我正在将对象集合数据绑定到 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);
    }

“选择”对象如下所示:

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");
        }
    }

“报价”对象如下所示:

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

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

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

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

我会很感激任何关于这个的指针。 谢谢。

【问题讨论】:

    标签: c# data-binding collections


    【解决方案1】:

    这就是您必须寻找的 - Binding to second level property of a source

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-03-22
    • 2012-07-03
    • 2013-06-21
    • 2011-01-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多