FineUI 官方论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

本论坛已关闭(禁止注册、发帖和回复)
请移步 三石和他的朋友们

FineUI首页 WebForms - MVC & Core - JavaScript 常见问题 - QQ群 - 十周年征文活动

FineUI(开源版) 下载源代码 - 下载空项目 - 获取ExtJS - 文档 在线示例 - 版本更新 - 捐赠作者 - 教程

升级到 ASP.NET Core 3.1,快、快、快! 全新ASP.NET Core,比WebForms还简单! 欢迎加入【三石和他的朋友们】(基础版下载)

搜索
查看: 4774|回复: 4

【新版本支持】FineCore Grid控件内F.RenderFieldFor(m=>m.ID)报错

[复制链接]
发表于 2017-11-30 14:41:36 | 显示全部楼层 |阅读模式
Grid 如果利用F.RenderFieldFor绑定字段  会报错  附件为空项目   因附件过大   删了wwwroot文件夹

发表于 2017-11-30 16:24:43 | 显示全部楼层
上传附件时注意删除自己的 DLL和开发授权文件,防止授权泄露
 楼主| 发表于 2017-11-30 17:07:55 | 显示全部楼层
OK 是我考虑不周了
发表于 2017-12-1 14:04:13 | 显示全部楼层
我正在测试,这个地方好像支持的不好,需要下个版本增强
发表于 2017-12-3 20:09:34 | 显示全部楼层
这个问题需要新版本解决。下个版本我们会支持RenderFieldFor和RenderCheckFieldFor,配合EF使用会比较方便。

老版本这样的代码:
  1. @{
  2.     ViewBag.Title = "Grid/Grid";
  3.     var F = Html.F();
  4. }


  5. @section body {

  6.     @(F.Grid()
  7.         .EnableCollapse(true)
  8.         .Width(850)
  9.         .Title("表格")
  10.         .ShowHeader(true)
  11.         .ShowBorder(true)
  12.         .ID("Grid1")
  13.         .DataIDField("Id")
  14.         .DataTextField("Name")
  15.         .Columns(
  16.             F.RowNumberField(),
  17.             F.RenderField()
  18.                 .HeaderText("姓名")
  19.                 .DataField("Name")
  20.                 .Width(100),
  21.             F.RenderField()
  22.                 .HeaderText("性别")
  23.                 .DataField("Gender")
  24.                 .FieldType(FieldType.Int)
  25.                 .RendererFunction("renderGender")
  26.                 .Width(80),
  27.             F.RenderField()
  28.                 .HeaderText("入学年份")
  29.                 .DataField("EntranceYear")
  30.                 .FieldType(FieldType.Int)
  31.                 .Width(100),
  32.             F.RenderCheckField()
  33.                 .HeaderText("是否在校")
  34.                 .DataField("AtSchool")
  35.                 .RenderAsStaticField(true)
  36.                 .Width(100),
  37.             F.RenderField()
  38.                 .HeaderText("所学专业")
  39.                 .DataField("Major")
  40.                 .RendererFunction("renderMajor")
  41.                 .ExpandUnusedSpace(true),
  42.             F.RenderField()
  43.                 .HeaderText("分组")
  44.                 .DataField("Group")
  45.                 .RendererFunction("renderGroup")
  46.                 .Width(80),
  47.             F.RenderField()
  48.                 .HeaderText("注册日期")
  49.                 .DataField("LogTime")
  50.                 .FieldType(FieldType.Date)
  51.                 .Renderer(Renderer.Date)
  52.                 .RendererArgument("yyyy-MM-dd")
  53.                 .Width(100)
  54.         )
  55.         .DataSource(DataSourceUtil.GetDataTable())
  56.     )
  57. }
复制代码


新版本可以简化为:
  1. @{
  2.     ViewBag.Title = "DataModel/Grid";
  3.     var F = Html.F();
  4. }

  5. @model List<FineUIMvc.Examples.Areas.DataModel.Models.Student>

  6. @section body {


  7.     @(F.Grid()
  8.         .EnableCollapse(true)
  9.         .Width(850)
  10.         .Title("表格")
  11.         .ShowHeader(true)
  12.         .ShowBorder(true)
  13.         .ID("Grid1")
  14.         .DataIDField("Id")
  15.         .DataTextField("Name")
  16.         .Columns(
  17.             F.RowNumberField(),
  18.             F.RenderFieldFor(m => m.Name),
  19.             F.RenderFieldFor(m => m.Gender)
  20.                 .RendererFunction("renderGender")
  21.                 .Width(80),
  22.             F.RenderFieldFor(m => m.EntranceYear),
  23.             F.RenderCheckFieldFor(m => m.AtSchool)
  24.                 .RenderAsStaticField(true),
  25.             F.RenderFieldFor(m => m.Major)
  26.                 .RendererFunction("renderMajor")
  27.                 .ExpandUnusedSpace(true),
  28.             F.RenderFieldFor(m => m.Group)
  29.                 .RendererFunction("renderGroup")
  30.                 .Width(80),
  31.             F.RenderFieldFor(m => m.EntranceDate)
  32.         )
  33.         .DataSource(Model)
  34.     )
  35. }
复制代码


当然,这种方式就不支持DataTable了,而需要定义实体类(配合EntityFramework会比较爽):
  1. public class Student
  2. {
  3.         [Key]
  4.         public int Id { get; set; }

  5.         [Required]
  6.         [Display(Name = "姓名")]
  7.         [StringLength(20)]
  8.         public string Name { get; set; }

  9.         [Required]
  10.         [Display(Name = "性别")]
  11.         public int Gender { get; set; }

  12.         [Required]
  13.         [Display(Name = "入学年份")]
  14.         public int EntranceYear { get; set; }

  15.         [Required]
  16.         [Display(Name = "是否在校")]
  17.         public bool AtSchool { get; set; }

  18.         [Required]
  19.         [Display(Name = "所学专业")]
  20.         [StringLength(200)]
  21.         public string Major { get; set; }

  22.         [Required]
  23.         [Display(Name = "分组")]
  24.         public int Group { get; set; }


  25.         [Display(Name = "注册日期")]
  26.         [DisplayFormat(DataFormatString = "{0:yyyy-MM-dd}")]
  27.         public DateTime? EntranceDate { get; set; }

  28. }
复制代码


您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|FineUI 官方论坛 ( 皖ICP备2021006167号-1 )

GMT+8, 2024-3-29 03:53 , Processed in 0.047455 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表