有一个具有一些属性的依赖类
class Dependency:
{
public string ArtifactId { get; set; }
public string GroupId { get; set; }
public string Version { get; set; }
public Dependency() {}
}
和 ProjectView 类:
class ProjectView:
{
public string Dependency[] { get; set; }
...
}
我想将 ProjectView 类中的依赖项数组绑定到 DataGridView。
class Editor
{
private readonly ProjectView _currentProjectView;
... //I skipped constructor and other methods
private void PopulateTabs()
{
BindingSource source = new BindingSource {DataSource = _currentProjectView.Dependencies, AllowNew = true};
dataGridViewDependencies.DataSource = source;
}
}
但是当我这样绑定时,就会发生异常(AllowNew 只能在 IBindingList 或具有默认公共构造函数的读写列表上设置为 true。),因为 _currentProjectView.Dependencies 是数组,它不能能够添加新项目。有一个解决方案是转换为列表,但它不方便,因为它只是复制并丢失了对原始数组的引用。这个问题有解决方案吗?如何将数组正确绑定到datagridview?谢谢。