C#DataGridView绑定

C#DataGridView绑定,c#,binding,datagridview,C#,Binding,Datagridview,我有以下课程: class Channel { public int Number { get; private set; } public double HighestCoChannelSignal { get; private set; } public double HighestOverlappingSignal { get; private set; } public List<Network> NetsCoChannel

我有以下课程:

    class Channel
   {
    public int Number { get; private set; }

    public double HighestCoChannelSignal { get; private set; }
    public double HighestOverlappingSignal { get; private set; }

    public List<Network> NetsCoChannel { get; set; }
    public List<Network> NetsOverlapping { get; set; }
   }
类频道
{
公共整数{get;private set;}
公共双高同频道信号{get;private set;}
公共双高重叠信号{get;private set;}
公共列表NetsCoChannel{get;set;}
公共列表{get;set;}
}

我有一个通道对象列表。我想将它绑定到DataGridView并显示:Number,HighestCoChannelSignal,HighestOverlappingSignal,NetsCoChannel.Count,netscoppling.Count。例如,如果HighestCoChannelSignal是一个特殊值,那么将DataGridView中的单元格值设置为我想要的值。如何实现这一点?

您可以执行LINQ查询,将所需数据获取到匿名类型的实例中,并将结果绑定到网格,例如

var data = channels.Select(c => new {c.Number,
                                     c.HighestCoChannelSignal,
                                     c.HighestOverlappingSignal,
                                     NetsCoChannelCount = c.NetsCoChannel.Count,
                                     NetsOverlappingCount = c.NetsOverlapping.Count})
                   .ToArray();

您可以添加任何适合处理该“特殊值”的代码。如果您想要一个具体的答案,那么您必须提供一个具体的描述。

看起来不错,但我想知道这个解决方案的性能如何,因为我每1秒刷新一次数据。为什么您想知道什么时候可以简单地测试并查看?如果数据来自数据库,那么首先以您想要的形式获取数据可能会更快。如果这不是一个选择,你就不会做得更好。