c# winform 中 datagridview 中datapropertyname 中如如何显示对象属性

如下两个类

  public  class UserInfoRoleInfo
    {
        public int UserId { get; set; }
        public string UserNumber { get; set; }
        public string UserName { get; set; }
        public RoleInfo RoleInfoModel { get; set; }
       
    }
        public int RoleId { get; set; }
        public string RoleName { get; set; }
        public string RoleDesc { get; set; }

现在要在datagridview 中 的datapropertyname 中显示 rolemodel.rolename
在winform中 datagridview的datapropertyname 不支持导航属性 要想显示 rolemodel.rolename 可通过linq的方式如

  List<UserInfoRoleInfo> lists =uService.GetAllUserInfo() //通过数据库的方法查询处数据
     //通过匿名类型获取rolemodel.rolename属性 这里的只能通过var 定义
            var lists2 = lists.Select(s => new {s.UserId,s.UserNumber,s.UserName, role_name = s.RoleInfoModel.RoleName });
            //因lists2为IEnumerable类型 不能直接被datagridview绑定 只能传成集合在绑定
            dgvUserInfo.DataSource = lists2.ToList();
  
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值