DevExpress控件使用交流,DevExpress中国社区 售前咨询
当前位置: 首页 > 开发资源 » 示例代码 » 如何在DevExpress GridControl的一列中显示外部图片?

如何在DevExpress GridControl的一列中显示外部图片?

作者:huhm   来源:本站   浏览:Loading...次   发布时间:2012-03-01   评论:1条

如果数据源中只包含图片的链接,如何在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];

                  }

           }

点击下载示例

本站文章除注明转载外,均为本站原创或翻译
欢迎任何形式的转载,但请务必注明出处,尊重他人劳动成果
转载请注明:文章转载自:DevExpress控件中文网 [http://www.devexpresscn.com/]
本文地址:http://www.devexpresscn.com/DevExpress-Resources/Demo-13.html

评论列表

307728331@qq 发表于 2013年04月24日 08:23:20

添加到cell中的图片被拉伸了,如果是小图标会达不到预期效果

IP:113.140.76.*

请谈谈你的看法 请使用IE或者Firefox浏览器,暂不支持Chrome!

昵称 不填则默认为游客评论

DevExpress DXperience DXv2 v12

DevExpress DXperience 下载 download

DevExpress购买、价格、授权

慧都控件网为DevExpress界面控件的中国地区唯一正式授权经销商,正版控件销售公司,授权代理商,经销商及合作伙伴。

电话:400-700-1020
        023-66090381

邮箱:sales@evget.com

>>如何选择正规控件购买渠道