这应该很容易。我想在运行时使用自定义数据源填充网格。出于某种原因,它根本不起作用。
通过单元测试运行
[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;
}
}
我最终得到了一些名为“Column”的列,显示了3行读取ClassLibrary1.SourceRecord
。然后我的自定义列“Some Name”没有数据。根据devexpress walkthrough,我只需要用一个实现IList
的类来填充DataSource,这是我用Array做的。
如何只显示自定义列并为其提供数据?
答案 0 :(得分: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;
}