Элемент управления DataGrid, который поддерживает детали строки - PullRequest
1 голос
/ 25 августа 2011

Я ищу бесплатный / платный компонент для .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. Что мне нужно, так это возможность развернуть любую из строк и просмотреть запись со всеми полями ClassA или ClassB в зависимости от типа данных, привязанного к этой строке.

Я знаю, что то, что мне нужно, возможно с помощью объекта Microsoft WPF DataGrid (с RowDetailSelector), но я бы предпочел не использовать WPF для такого рода вещей, если мне это не нужно. Еще одно важное замечание: все это только для чтения. Мне не нужно каким-либо образом редактировать эти данные. Мой вариант использования состоит в том, что у меня есть библиотека, которая подключена ко многим различным типам записей журнала ошибок, и мне нужен способ визуализировать все эти различные типы записей ошибок в одном табличном формате (при этом я могу видеть все поля на всех разные типы данных).

Любая помощь будет оценена!

1 Ответ

0 голосов
/ 26 августа 2011

В итоге я выбрал элементы управления WinForms от Telerik.Их сетка позволяет мне делать то, что я описал выше, используя дочерние шаблоны с вкладками.

...