轉(zhuǎn)帖|使用教程|編輯:龔雪|2021-03-19 10:48:01.430|閱讀 315 次
概述:本文主要介紹在一些應(yīng)用模塊中的列表展示中,包含附件的記錄,在GridView列表界面中使用圖標來快速顯示是否有附件的情況。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
DevExpress擁有.NET開發(fā)需要的所有平臺控件,包含600多個UI控件、報表平臺、DevExpress Dashboard eXpressApp 框架、適用于 Visual Studio的CodeRush等一系列輔助工具。
本文主要介紹在一些應(yīng)用模塊中的列表展示中,包含附件的記錄,在GridView列表界面中使用圖標來快速顯示是否有附件的情況。
例如在我的《通用人員信息管理模塊》中(可以參考隨筆《》、《》,很多都使用了《通用附件管理模塊》(可以參考《》來處理附件信息。如下界面所示。
但有時我們在列表中展示主要的數(shù)據(jù)的時候,我們希望知道哪一條記錄是否包含附件,以便我們快速查看相關(guān)的附件的時候,如下所示的展示效果,我們需要怎么做呢?
首先我們在綁定數(shù)據(jù)操作中增加一個字段列,用來在GridView列表中進行展示是否有附件的圖標的,我們定義為 HasAttachment,然后判斷附件列表中是否存在附件,并賦值給存在附件的列,具體邏輯代碼如下所示。
/// <summary> /// 綁定列表數(shù)據(jù) /// </summary> 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<StaffResearch>.Instance.FindToDataTable(where); if (dt != null) { dt.Columns.Add("HasAttachment", typeof(Image)); foreach (DataRow dr in dt.Rows) { string attachGUID = dr["AttachGUID"].ToString(); Dictionary<string, string> list = WHC.Framework.ControlUtil.BLLFactory<WHC.Attachment.BLL.FileUpload>.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);
/// <summary> /// 綁定數(shù)據(jù)后,分配各列的寬度 /// </summary> 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圖形數(shù)據(jù)讀取出來并展示出來等操作。
本文轉(zhuǎn)載自
DevExpress技術(shù)交流群3:700924826 歡迎一起進群討論
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉(zhuǎn)載自: