我想使用文件路径中包含的所有文件的选定属性填充DevExpress DataGrid 这就是我目前所拥有的("名称。"是占位符)
private void grList_CustomUnboundColumnData(object sender, DevExpress.XtraGrid.Views.Base.CustomColumnDataEventArgs e)
{
DirectoryInfo source = new DirectoryInfo(path);
switch (e.Column.FieldName)
{
case "Name":
e.Value = source.GetFiles(Name.ToString());
break;
case "FullName":
e.Value = source.GetFiles(Name.ToString());
break;
case "Extention":
e.Value = source.GetFiles(Name.ToString());
break;
case "LastAccessTime":
e.Value = source.GetFiles(Name.ToString());
break;
case "LastWriteTime":
e.Value = source.GetFiles(Name.ToString());
break;
}
}
答案 0 :(得分:0)
将为每个可见且未绑定类型的单元格触发CustomUnboundColumData。这意味着如果您有5个未绑定的列和100个文件,则每次重绘网格时都会进行500次调用。
为什么不使用数据源方法?例如,您可以使用如下代码填充它
var d = new DirectoryInfo("c:\\");
var files = d.GetFiles("*.*").Select(x => new
{
x.Name,
x.FullName,
x.Extension,
x.LastAccessTime,
x.LastWriteTime
}).ToList();
gridControl.DataSource = files;
我使用了动态数据,也可以使用一个类。您在网格中所需要做的就是将“列”设置为相应的字段名称,并使其绑定。