如何将数组列表作为数据源添加到 devexpress gridcontrol
How to add an arraylist as datasource to devexpress gridcontrol
我有一个包含大量对象的 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;
因为很难从 ArrayList
中提取列的信息,我建议您改用通用 List<T>
(如果您想跟踪元素的更改,则使用 BindingList<T>
):
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
的方法应该可以正常工作。
我有一个包含大量对象的 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;
因为很难从 ArrayList
中提取列的信息,我建议您改用通用 List<T>
(如果您想跟踪元素的更改,则使用 BindingList<T>
):
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
的方法应该可以正常工作。