zoukankan      html  css  js  c++  java
  • DevExpress GridControl 显示外部图片

    如果数据源中只包含图片的链接,如何在DevExpress GridControl的一列中显示外部图片?

    要实现该功能,可通过非绑定列的方式来实现。具体实现方法如下:

    1.    创建了一个非绑定列并设置其相应的属性,属性设置如下:

    • FieldName设为 Image (该字段名必须是唯一的)
    • UnboundType设为 UnboundColumnType.Object
    • ColumnEdit设为RepositoryItemPictureEdit类的实例(该操作PictureEdit 为该列的内置编辑器)

    2.    处理View的CustomUnboundColumnData事件,用于为非绑定列填充数据。在该事件中需加载图片,将其存放在一个hashtable中,然后再将其提供给对应的单元格。

    关键代码:

    //获取文件路径
    
    string GetFileName(string color) {        
    
                      if(color == null || color == string.Empty)
    
                             return string.Empty;                       
    
                      return color + ".jpg";               
    
               }
    
    //处理CustomUnboundColumnData事件,为非绑定列填充数据
    
    private void gridView1_CustomUnboundColumnData(object sender, DevExpress.XtraGrid.Views.Base.CustomColumnDataEventArgs e) {
    
                      if(e.Column.FieldName == "Image" && e.IsGetData) {
    
                             GridView view = sender as GridView;
    
                    string colorName = (string)((DataRowView)e.Row)["Color"];
    
                             string fileName = GetFileName(colorName).ToLower();
    
                             if(!Images.ContainsKey(fileName)) {
    
                                    Image img = null;
    
                                    try {
    
                                           string filePath = DevExpress.Utils.FilesHelper.FindingFileName(Application.StartupPath, ImageDir + fileName, false);
    
                                           img = Image.FromFile(filePath);
    
                                    }
    
                                    catch {
    
                                    }
    
                                    Images.Add(fileName, img);
    
                             }
    
                             e.Value = Images[fileName];
    
                      }
    
               }

    转自:http://www.devexpresscn.com/DevExpress-Resources/Demo-13.html

  • 相关阅读:
    CSS实现DIV水平自适应居中
    jQuery实现鼠标拖动改变Div高度
    Word2013创建目录
    raw,cow,qcow,qcow2镜像的比较
    Chrome浏览器官方下载地址
    OLE/COM 对象查看器 & OLE常用术语
    VmWare为Fedora虚拟机扩展磁盘
    Linux常用命令
    项目经理与客户沟通的宜与忌
    转 FileStream Read File
  • 原文地址:https://www.cnblogs.com/w-y-f/p/4212985.html
Copyright © 2011-2022 走看看