博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
DisplayAttribute没作用,why?
阅读量:5904 次
发布时间:2019-06-19

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

namespace WebBulletinBoard.DataAccess{    using System;    using System.ComponentModel.DataAnnotations;    using System.ComponentModel.DataAnnotations.Schema;    [Table("BulletinBoardFile")]    public partial class BulletinBoardFile    {        [Key]         public Guid FileKeyID { get; set; }        [Display(Name = "展示日期", Order = 0)]        [StringLength(10)]        public string WorkDate { get; set; }        [Display(Name = "公告抬头", Order = 1)]        [StringLength(1024)]        public string BulletinTitle { get; set; }        [Display(Name = "公告描述", Order = 2)]        [StringLength(1024)]        public string BulletinContexnt { get; set; }        [Display(Name = "发布人", Order = 4)]        [StringLength(30)]        public string UploadUser { get; set; }        [Display(Name = "发布时间", Order = 3)]        public DateTime? UploadDateTime { get; set; }        [Display(Name = "文件名", Order = 5)]        [StringLength(255)]        public string FileName { get; set; }        [Column(TypeName = "image")]        public byte[] BinaryData { get; set; }        [Display(Name = "显示天数", Order = 6)]        public int DisplayDays { get; set; }        public int? OderIndex { get; set; }        [Column(TypeName = "timestamp")]        [DatabaseGenerated(DatabaseGeneratedOption.Computed)]        [MaxLength(8)]        public byte[] RowVersion { get; set; }    }}

 上面是实体类的定义。在给DataGridView绑定了上面的实体作为数据源之后,DisplayAttribute标记的中文列名没有显示出来。为什么呢?

实在没有办法,手动使用下面的办法解决了。

if (GridView1.Columns.Count > 0)                {                    var props = typeof(BulletinBoardFile).GetProperties();                    foreach (var p in props)                    {                        var colParaObj = (DisplayAttribute)p.GetCustomAttributes(typeof(DisplayAttribute), false).FirstOrDefault();                        if (colParaObj != null)                        {                            for (int i = 0; i < GridView1.Columns.Count; i++)                            {                                if (GridView1.Columns[i].HeaderText.Equals(p.Name))                                {                                    GridView1.Columns[i].HeaderText = colParaObj.Name;                                    break;                                }                            }                        }                    }                }

 如果凑巧看到这篇文章请赐教!

转载地址:http://alkpx.baihongyu.com/

你可能感兴趣的文章
MyBatis的常见属性总结select、insert、update、delete
查看>>
vue无缝滚动的插件开发填坑分享
查看>>
webpack引入eslint详解
查看>>
Codeforces 898D Alarm Clock
查看>>
新功能:阿里云负载均衡支持HTTP/2、WSS协议
查看>>
Spring 异步线程池、调度任务线程池配置
查看>>
unity中如何实现一个“长按”按钮
查看>>
【30分钟】吃透webpack,也许这一篇就够了
查看>>
lua 发起的Content-Type 为application/json; charset=UTF-8的请求
查看>>
小程序webview使用避坑(因为开发者配置域名错误导致打开失败)
查看>>
JAVA写HTTP代理服务器(二)-netty实现
查看>>
无法远程连接mysql数据库
查看>>
FileReader api
查看>>
利用PHP实现常用的数据结构之二叉树(小白系列文章六)
查看>>
JavaScript 设计模式 ① 正确使用面向对象编程的姿势
查看>>
JavaScript深入理解对象方法——Object.defineProperty()
查看>>
十分钟入门express
查看>>
BOM小操作
查看>>
Python3结合Sciter编写桌面程序
查看>>
Navigation Timing获取页面加载各个阶段所需时间
查看>>