我有一组从LINQ填充的项目,我需要访问一个兄弟项目(日期),这将从UI级别设置。由于我不知道填充数据集合时的日期,因此我需要一种很好的方法来从集合中的每个项目访问日期属性。这是我的课程结构:
public class TestClass
{
public DateTime MyDate;
public List<MySite_ReportResult> Items { get; set; }
}
总结一下,对于每个“MySite_ReportResult”,我希望能够访问“MyDate”。有没有人有一个好的建议是最好的做法?此集合最终将绑定到网格,因此我将创建一个分部类,并根据DateTime值添加其他属性。
答案 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。
{享受}