EasyMvc入门教程-高级控件说明(20)表格控件

表单与表格是信息化系统里很常见的控件,EasyMvc提供了简单的数据绑定方式(基于Json),看下面的示例:

 准备的接口地址代码如下:(该接口适用以下所有例子)

        public IActionResult TableData(int page, int limit, string field = "", string sort = "")
        {
           for (var i = 0; i < 1000; i++)
            {
                var item = new Person
                {
                    UserName = "mxd" + i,
                    Birthday = DateTime.Now.AddDays(i),
                    Comment = "我们是备注..."
                };
                datas.Add(item);
            }

            var result = LinqHelper.SortingAndPaging(datas.AsQueryable(), field, sort, page, limit);
            return Json(new { code = 0, msg = "", count = datas.Count, data = result });
        }

 1、简单的View使用方法如下:

@(Html.Q().DataGrid().AjaxRead("/DataGrid/TableData").Columns<Person>())

显示效果如下:

2、如果我们需要显示某几个字段,可以采取如下方式:

@(Html.Q().DataGrid().AjaxRead("/DataGrid/TableData").Columns<Person>(
      cols =>
      {
          cols.Bound(n => n.UserName);
          cols.Bound(m => m.Birthday);
          cols.Bound(n => n.Comment);
      }
      ))

 效果如下:

 3、列可以定义模板,如下所示:

@(Html.Q().DataGrid().AjaxRead("/DataGrid/TableData").Columns<Person>(
      cols =>
      {
          cols.Bound(n => n.UserName).TempletId("tp");
          cols.Bound(m => m.Birthday);
          cols.Bound(n => n.Comment);
      }
      ))


@Html.Q().StartTemplate(new TemplateModel() { Id = "tp" })

@Html.Q().Button().ClickClientEvent("demo").Text("{{d.userName}}").SizeXSmall()
<script>function demo(data) { layer.msg("{{d.userName}}"); }</script>

@Html.Q().EndTemplate()

 效果如下所示:

 

4、表格还可以实现列排序,行点击,列选中等操作,请参照在线演示的示例代码,最后参考下表格的样式美化(会涉及一些CSS,没关系,需要的时候COPY参考修改就可以)

效果如下:

 


总结:表格应该是目前最复杂的控件,掌握了表格,基本就掌握了EasyMvc,请根据实际情况参考示例实现。

 

更多使用示例请浏览在线示例:http://core.zwc.cn

 

posted @ 2018-01-26 23:50  China Soft  阅读(223)  评论(0编辑  收藏  举报