首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >DevExpress DataGrid

DevExpress DataGrid
EN

Stack Overflow用户
提问于 2016-10-04 19:13:00
回答 1查看 282关注 0票数 0

我想用文件路径中包含的所有文件的选定属性填充DevExpress名称。这就是我当前拥有的名称(“DataGrid”。是占位符)

代码语言:javascript
复制
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;
        }
    }
EN

回答 1

Stack Overflow用户

发布于 2019-11-20 13:47:48

对于每个可见的未绑定类型的单元格,都会触发CustomUnboundColumData。这意味着,如果您有5个未绑定的列和100个文件,那么每次重新绘制网格时,您的调用将被执行500次。

为什么不使用数据源方法呢?例如,您可以使用如下所示的代码填充它

代码语言:javascript
复制
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并绑定它们。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39850814

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档