永发信息网

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

答案:2  悬赏:70  手机版
解决时间 2021-03-14 23:19
如何在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]; } } 点击下载示例 本站文章除注明转载外,均为本站原创或翻译
全部回答
肯定要存到数据库里面了,这个应该是winform的 我不清楚,但是web的是使用loadclientlayout这个方法的
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
我家布丁仓鼠背上有一块黑斑,不知道是什么,
在家不出门要涂防晒吗
如果去上海迪士尼2日+酒店4晚最少多少费用?
美家乐窗帘布艺广安店怎么去啊,有知道地址的
找空放,急用钱。不要有前期费用的。
签署合同时,对方当事人并未到场,而是事后签字
上海徐汇区最好的牙防所地址在哪里
新招鲜浦江店在什么地方啊,我要过去处理事情
为什么车连续开久了感觉很累
求助,kindle屏幕没反应了
工于心是什么意思
签约成为酷狗繁星主播还得提供真实资料是不是
毕业工作一年了,现在转行容易吗?
大众速腾2015款1.6l自动舒适型保养多少钱
伤残鉴定可单方申请吗
推荐资讯
进游戏茶苑老是显示房间连接不通怎么办?
求这个女孩那部分原图
安新县赵北口镇李庄子村地址在哪,我要去那里
没有root权限怎样把手机软件移到SD卡中?
oppoA37m手机安全中心从哪找
买手机的自己用演示机是不是要交钱
家府干锅鸭头怎么去啊,有知道地址的么
中天助电子元器件怎么样
2k15所有传奇球队和各自传奇球队的主力队员?
请问我今天的肌酐检查结果是118.0 参考值是40
IOS模拟器在哪里下载求下载网站
下木瓜地址有知道的么?有点事想过去
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?