支持行详细信息的DataGrid控件

时间:2011-08-24 21:05:03

标签: .net winforms data-binding datagrid

我正在寻找.NET Windows Forms的免费/付费组件,让我们可视化(表格)包含各种类型数据的单个列表。我也想要一种方法来定制任何内置的.NET组件来做同样的事情。

我有一个由4种不同类型的数据组成的数据集,它们都实现了一个通用接口。我可以将DataGridView的数据源设置为接口对象的列表,我得到一个漂亮的统一网格就好了。但是,我想要做的是能够扩展每一行以查看底层类的实际数据类型值。

以下是一组示例数据:

public interface ICommonData {
    long ID {get;}
    DateTime Date {get;}
}

public class ClassA : ICommonData {
    public long ID {get;}
    public DateTime Date {get;}
    public string Description {get;set;}
    public string Title {get;set;}
}

public class ClassB : ICommonData {
    public long ID {get;}
    public DateTime Date {get;}
    public long SomeReferenceNumber {get;set;}
    public string SomeName {get;set;}
}

使用这些数据,我会将网格绑定到包含ClassA和ClassB对象混合的List。我需要的是能够扩展任何行并查看包含ClassA或ClassB的所有字段的记录,具体取决于绑定到该行的数据类型。

我知道我需要的是使用Microsoft WPF DataGrid对象(使用RowDetailSelector),但是如果我不需要,我宁愿不使用WPF来做这种事情。另一个重要的注意事项是,这都是只读的。我不需要任何方式来编辑任何这些数据。我的用例是我有一个连接到许多不同类型的错误日志记录的库,我需要一种方法以一种表格格式可视化所有这些不同类型的错误记录(同时能够看到所有的所有字段)不同类型的数据)。

任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:0)

我最终选择了Telerik的WinForms控件。他们的网格允许我使用选项卡式子模板执行上面描述的操作。

相关问题