如何将arraylist作为数据源添加到devexpress gridcontrol中

时间:2015-02-03 13:43:47

标签: c# arraylist devexpress

我有一个包含大量对象的Arraylist。 所有这些对象都有一个名称,大小...... 现在我希望每个对象在网格控件中显示为一行。 如果我写:

gridControl.DataSource = ArrayList;

我得到了适量的行,但没有填充。如何添加每个对象属性的值?

ArrayList dataSource = new ArrayList();
dataSource.Clear();

foreach(FileInfo element in dir.GetFiles())
{           
     dataSourceEntry item = new dataSourceEntry();
     item.fileCreateDate = element.CreationTime.Date;
     item.fileName = element.Name;
     item.check = true;
     dataSource.Add(item);
}
gridFiles.DataSource = dataSource;

1 个答案:

答案 0 :(得分:0)

由于很难从ArrayList中提取列的信息,因此我建议您使用通用List<T>代替(BindingList<T>,如果您想跟踪元素&#39}改变):

List<dataSourceEntry> dataSource = new List<dataSourceEntry>();

foreach(FileInfo element in dir.GetFiles())
{           
     dataSourceEntry item = new dataSourceEntry();
     item.fileCreateDate = element.CreationTime.Date;
     item.fileName = element.Name;
     item.check = true;
     dataSource.Add(item);
}
gridFiles.DataSource = dataSource;
gridFiles.MainView.PopulateColumns();

P.S。无论如何,当分配给网格的数据源不为空时,ArrayList的方法应该可以正常工作。