DevExpress DataGrid

时间:2016-10-04 11:13:00

标签: c# devexpress

我想使用文件路径中包含的所有文件的选定属性填充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;
        }
    }

1 个答案:

答案 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;

我使用了动态数据,也可以使用一个类。您在网格中所需要做的就是将“列”设置为相应的字段名称,并使其绑定。

相关问题