2011-08-24 7 views
1

다양한 유형의 데이터가 포함 된 단일 목록을 시각화 (표 형식) 할 수있는 .NET Windows Forms의 무료/유료 구성 요소를 찾고 있습니다. 또한 동일한 기능을 수행하도록 .NET 구성 요소를 사용자 정의하는 방법을 제안합니다.행 세부 정보를 지원하는 DataGrid 컨트롤

나는 모두 공통 인터페이스를 구현하는 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;} 
} 

, I는를 ClassA와 ClassB가 개체의 혼합물이 포함 된 목록에 격자를 결합하는 것이다. 필요한 것은 행을 확장하고 해당 행에 바인딩 된 데이터 유형에 따라 ClassA 또는 ClassB의 모든 필드가있는 레코드를 보는 기능입니다.

내가 필요한 것은 Microsoft WPF DataGrid 개체 (RowDetailSelector 포함)를 사용하여 가능하다는 것을 알지만, 필요없는 경우이 종류의 WPF를 사용하지 않을 것입니다. 또 다른 중요한 점은이 모든 것이 읽기 전용이라는 것입니다. 이 데이터를 편집 할 필요가 없습니다. 필자는 여러 가지 유형의 오류 로그 레코드에 연결되어있는 라이브러리를 사용하고 있으며 모든 다른 유형의 오류 레코드를 하나의 표 형식으로 시각화 할 수있는 방법이 필요합니다. 다른 유형의 데이터).

도움이 될 것입니다.

+0

이 "혼합물"은 어떻게 보일까요? 모든 테이블 형식? "ClassA"유형의 행과 "ClassB"유형의 행을 시각화하는 방법에 대한 아이디어가 있습니까? –

+0

테이블의 주 행의 경우 ICommonData 속성을 기반으로하는 직선 테이블이됩니다. 행을 확장하면 이상적으로 실제 ClassA 또는 ClassB 속성의 모든 열을 보여주는 단일 행이있는 하위 테이블 레이아웃이 표시됩니다. 또는 최소한 필자가 자신의 형식으로 데이터를 배치 할 수있는 패널을 제공하십시오. WPF 컨트롤이 작동하는 방식입니다. 그리드를 얻으면 원하는 곳에 넣을 수 있습니다. – Josh

답변

0

Telerik에서 WinForms 컨트롤을 선택했습니다. 격자를 사용하면 위에서 설명한 탭 템플릿을 사용하여 하위 템플릿을 만들 수 있습니다.