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

  • 相关阅读:
    最大值及下标值
    查找整数
    打印沙漏
    抓老鼠啊~亏了还是赚了?
    币值转换
    秋季学期学习总结
    菜鸟学习Spring——SpringIoC容器基于三种配置的对比
    yanxin8文章归档
    2014——2015总结
    Java入门到精通——调错篇之Spring2.5利用aspect实现AOP时报错: error at ::0 can't find referenced pointcut XXX
  • 原文地址:https://www.cnblogs.com/w-y-f/p/4212985.html
Copyright © 2011-2022 走看看