2012-02-29 6 views
3

쉽게 수행 할 수 있습니다. 런타임시 사용자 정의 데이터 소스로 그리드를 채우고 싶습니다. 웬일인지, 그것은 단지 작동하지 않는다. 내가 3을 표시합니다 그냥 "열"이라는 일부 열이 결국 단위 테스트보기에서 열을 프로그래밍 방식으로 만듭니다.

[TestMethod] 
public void Runtest() { 
    TestForm form = new TestForm(); 
    TestControl control = new TestControl(); 
    form.Controls.Add(control); 
    control.LoadData(); 
    form.ShowDialog(); 
} 

관련 제어 코드

public void LoadData() { 
    SourceRecord[] original = new SourceRecord[] { 
     new SourceRecord("1"), new SourceRecord("3"), new SourceRecord("9") }; 
    gridControl1.DataSource = original; 
    GridColumn col = gridView1.Columns.AddVisible("SomeColumn"); 
    col.FieldName = "SomeName"; 
    //gridControl1.ForceInitialize(); 
} 

기록 정보

public class SourceRecord { 
    public string SomeName = ""; 
    public SourceRecord(string Name) { 
     this.SomeName = Name; 
    } 
} 

를 통해 실행

행은 ClassLibrary1.SourceRecord입니다. 그런 다음 내 사용자 정의 컬럼 "Some Name"에 데이터가 없습니다. devexpress walkthrough에 따르면, 배열로 수행 한 IList을 구현하는 클래스로 DataSource를 채우기 만하면됩니다.

사용자 정의 열을 표시하고 데이터를 제공하려면 어떻게합니까?

+0

SomeName은 public _field_입니다. 필드가 지원되는지 확실합니까? 재산으로 시도하십시오. –

답변

3

표 컨트롤은 열을 속성에만 바인딩합니다. 사용해보기 :

public class SourceRecord 
{ 
    public string SomeName { get; set; } 
    public SourceRecord(string Name) 
    { 
     SomeName = Name; 
    } 
} 

public void LoadData() 
{ 
    SourceRecord[] original = new SourceRecord[] { new SourceRecord("1"), new SourceRecord("3"), new SourceRecord("9") }; 
    GridColumn col = gridView1.Columns.AddVisible("SomeColumn"); 
    col.FieldName = "SomeName"; 
    gridControl1.DataSource = original; 
} 
관련 문제