我想用文件路径中包含的所有文件的选定属性填充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;
}
}发布于 2019-11-20 13:47:48
对于每个可见的未绑定类型的单元格,都会触发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;我用了一个动态数据,也可以用一个类。在您的网格中,您需要做的就是将列设置为相应的fieldname并绑定它们。
https://stackoverflow.com/questions/39850814
复制相似问题