博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
在GridView列表中使用图片显示记录是否包含附件
阅读量:7079 次
发布时间:2019-06-28

本文共 3149 字,大约阅读时间需要 10 分钟。

在我的前面很多文章中,都介绍过通用附件模块的管理,本篇随笔主要介绍在一些应用模块中的列表展示中,包含附件的记录,在GridView列表界面中使用图标来快速显示是否有附件的情况。

1、通用附件模块的应用界面效果

例如在我的《通用人员信息管理模块》中(可以参考随笔《》、《》,很多都使用了《通用附件管理模块》(可以参考《》来处理附件信息。如下界面所示。

但有时我们在列表中展示主要的数据的时候,我们希望知道哪一条记录是否包含附件,以便我们快速查看相关的附件的时候,如下所示的展示效果,我们需要怎么做呢?

2、具体实现代码

首先我们在绑定数据操作中增加一个字段列,用来在GridView列表中进行展示是否有附件的图标的,我们定义为 HasAttachment,然后判断附件列表中是否存在附件,并赋值给存在附件的列,具体逻辑代码如下所示。

///         /// 绑定列表数据        ///         public void BindData()        {            //entity            this.winGridViewPager1.DisplayColumns = "Seq,Category,Title,HasAttachment";            #region 添加别名解析            this.winGridViewPager1.AddColumnAlias("Seq", "序号");            this.winGridViewPager1.AddColumnAlias("Category", "科研情况类别");            this.winGridViewPager1.AddColumnAlias("Title", "标题信息");            this.winGridViewPager1.AddColumnAlias("AttachGUID", "附件GUID");            this.winGridViewPager1.AddColumnAlias("HasAttachment", "附件信息");            #endregion            string where = GetConditionSql();            DataTable dt = WHC.Framework.ControlUtil.BLLFactory
.Instance.FindToDataTable(where); if (dt != null) { dt.Columns.Add("HasAttachment", typeof(Image)); foreach (DataRow dr in dt.Rows) { string attachGUID = dr["AttachGUID"].ToString(); Dictionary
list = WHC.Framework.ControlUtil.BLLFactory
.Instance.GetFileNames(attachGUID); if (list.Count > 0) { dr["HasAttachment"] = WHC.StaffData.Properties.Resources.attach2; } } } this.winGridViewPager1.DataSource = dt; this.winGridViewPager1.PrintTitle = "人员科研情况信息报表"; }

然后我们就是需要在GridView显示的时候,进行一些处理工作,如定义这个HasAttachment列的显示类型,并限定它的宽度等操作,以便进行更好的展示,如下代码所示。

this.winGridViewPager1.gridView1.DataSourceChanged += new EventHandler(gridView1_DataSourceChanged);
///         /// 绑定数据后,分配各列的宽度        ///         private void gridView1_DataSourceChanged(object sender, EventArgs e)        {            if (this.winGridViewPager1.gridView1.Columns.Count > 0 && this.winGridViewPager1.gridView1.RowCount > 0)            {                this.winGridViewPager1.gridView1.Columns["Seq"].Width = 50;                this.winGridViewPager1.gridView1.Columns["Category"].Width = 50;                this.winGridViewPager1.gridView1.Columns["Title"].Width = 200;                RepositoryItemPictureEdit pic = new RepositoryItemPictureEdit();                pic.SizeMode = DevExpress.XtraEditors.Controls.PictureSizeMode.Zoom;                pic.NullText = " ";                pic.BestFitWidth = 80;                this.winGridViewPager1.gridView1.Columns["HasAttachment"].ColumnEdit = pic;                this.winGridViewPager1.gridView1.Columns["HasAttachment"].MaxWidth = 100;                this.winGridViewPager1.gridView1.Columns["HasAttachment"].MinWidth = 80;            }        }

完成上面的几步操作,我们就能在GridView中正常显示一个图标了,通过这个案例,我们拓展开来,可以在GridView中展示更好的效果,例如可以把一些字段的Image图形数据读取出来并展示出来等操作。

本文转自博客园伍华聪的博客,原文链接:,如需转载请自行联系原博主。

你可能感兴趣的文章
自己写的demo---声明异常同时处理异常,或者继续抛出异常
查看>>
C语言进阶剖析第二课--有符号和无符号
查看>>
2009年最后一天,要写点什么
查看>>
bind原理图释
查看>>
golang--性能测试和分析
查看>>
获取汉字拼音的简便方法
查看>>
POJ 2531 深搜剪枝
查看>>
Day07 - Ruby比一比:Symbol符号与String字串
查看>>
XML序列化与反序列化
查看>>
学习笔记之Shell脚本学习指南 & sed与awk & 正则表达式
查看>>
搭建前端监控系统(三)静态资源加载监控篇
查看>>
HDU4813 Hard Code
查看>>
UVA156 Ananagrams
查看>>
postman的身份验证Authentication
查看>>
tomcat启动批处理文件
查看>>
01-2. Maximum Subsequence Sum (25)
查看>>
mybatis-generator使用
查看>>
关于构建之法的问题
查看>>
如何更改MyEclipse代码自动换行的长度?
查看>>
idea 启动调试模式总提示端口58346被占用问题
查看>>