从集合中访问兄弟属性

时间:2010-08-12 23:37:12

标签: c# linq-to-sql

我有一组从LINQ填充的项目,我需要访问一个兄弟项目(日期),这将从UI级别设置。由于我不知道填充数据集合时的日期,因此我需要一种很好的方法来从集合中的每个项目访问日期属性。这是我的课程结构:

public class TestClass
{
    public DateTime MyDate;
    public List<MySite_ReportResult> Items { get; set; }
}

总结一下,对于每个“MySite_ReportResult”,我希望能够访问“MyDate”。有没有人有一个好的建议是最好的做法?此集合最终将绑定到网格,因此我将创建一个分部类,并根据DateTime值添加其他属性。

2 个答案:

答案 0 :(得分:1)

这有用吗?

...

List<DatedReportResult> list = new List<DatedReportResult>();

foreach (var drs in list) {
   drs.ReportDateTime ..
}

...

class DatedReportResult {
   public DateTime ReportDateTime;

   /* Properties of original ReportResult class */
   ....
}

相反,对于UI,您可以绑定列表,使用BindingSource并访问代码中当前项的ReportDateTime属性。

希望这有帮助。

由于

答案 1 :(得分:1)

创建 UIDateAndReport 类,其中包含 My_SiteReportResult 日期

代码如下:

public class TestClass
{
    public DateTime Date { get; set; }
    public IEnumerable<My_SiteReportResult> Reports {get;set;}
}

public class UIDateAndReport { public DateTime Date { get; set; } public My_SiteReportResult Report { get; set; } }

TestClass tst = new TestClass(); ... var DatedReports = (from r in tst.Reports select new UIDateAndReport { Date = tst.Date, Report = r });

你将得到一个IEnumerable&lt; UIDateAndReport&gt;您可以通过ObservableCollection或CollectionView绑定到UI。

{享受}