纸壳CMS列表Grid的配置
纸壳CMS(ZKEACMS)里的Grid是一个TagHelper
,是对jQuery插件datatables的一个配置封装。
Easy.Mvc.TagHelpers.GridTagHelper
grid的使用很简单,设置Model,使用<grid>标签就可以了:
@model ArticleEntity
<grid></grid>
Grid的默认值
1. ModelType
列表默认使用View设置的Model的Type作为Grid的ModelType,并使用它的配置元数据来呈现列表。例如:@model ArticleEntity
列表则会使用ArticleEntity
的元数据ArticleEntityMeta
来呈现列表。如果要特别指定这个ModelType,可以在Grid中进行设置:
<grid model-type="typeof(ArticleEntity)"></grid>
2. 编辑
编辑链接
默认的编辑链接是当前的Controller的Edit Action加主键。如文章,ArticleController,则编辑链接则是:/admin/Article/Edit/{id},也可以直接指定这个Action:
<grid edit="Edit"></grid>
编辑UI模板
默认的编辑模板是一个带有编辑图标的链接:
<a href="{0}" class="glyphicon glyphicon-edit"></a>
也可以在grid中设置这个模板,比如设置成按钮:
<grid edit-template="@("<a href=\"{0}\" class=\"btn btn-default\">Edit</a>")"></grid>
设置是否可编辑:
<grid edit-able="false"></grid>
3. 删除
删除链接
默认的删除链接是当前的Controller的Delete Action加主键。如文章,ArticleController,则删除链接则是:/admin/Article/Delete/{id},也可以直接指定这个Action:
<grid delete="Delete"></grid>
删除UI模板
默认的编辑模板是一个带有删除图标链接:
<a href=\"{0}\" class=\"glyphicon glyphicon-remove\"></a>
也可以在grid中设置这个模板,比如设置成按钮:
<grid delete-template="@("<a href=\"{0}\" class=\"btn btn-danger\">Delete</a>")"></grid>
注意:修改了这个删除模板,可能要注意同时配合修改
~/wwwroot/js/dataTable.js
设置是否可删除:
<grid delete-able="false"></grid>
4. 数据源
默认的数据源是当前的Controller的GetList Action,以Post的方式获取数据。也可以直接指定这个Action:
<grid source="GetList"></grid>
返回数据示例:
[HttpPost]
public virtual IActionResult GetList(DataTableOption query)
{
var pagin = new Pagination { PageSize = query.Length, PageIndex = query.Start / query.Length };
var expression = query.AsExpression<TEntity>();
var order = query.GetOrderBy<TEntity>();
if (order != null)
{
if (query.IsOrderDescending())
{
pagin.OrderByDescending = order;
}
else
{
pagin.OrderBy = order;
}
}
var entities = Service.Get(expression, pagin);
return Json(new TableData(entities, pagin.RecordCount, query.Draw));
}
在列表中显示字段
列表的字段显示,需要在元数据里面配置。元数据配置http://www.zkea.net/codesnippet/detail/post-94.html
调用.ShowInGrid()
该字段就会显示在列表中:
ViewConfig(m => m.ImageUrl).AsTextBox().MediaSelector().ShowInGrid();
配置搜索
.ShowInGrid().Search(Query.Operators.Contains)
配置UI模板
.ShowInGrid().SetGridColumnTemplate("<img src=\"{imageUrl}\"/>");
注意:字段名使用的是驼峰命名方式,如字段名是
ImageUrl
,则使用的时候是{imageUrl}
排序
grid默认以最后更新时间(LastUpdateDate)倒序。也可以直接在grid中进行设置:
<grid order-asc="ID"></grid>
<grid order-desc="ID"></grid>
自定义样式
可以使用以下方式进行设置自定义样式class:
<grid grid-class="table"></grid>
原文地址:http://www.zkea.net/zkeacms/document/grid
纸壳CMS列表Grid的配置的更多相关文章
- 在Docker中运行纸壳CMS并配置使用MySql
纸壳CMS是基于ASP.Net Core开发的可视化内容管理系统,可以跨平台部署,可以在容器中运行.接下来看看如何在docker中运行纸壳CMS. GitHub:https://github.com/ ...
- 纸壳CMS主题增强,支持主题中加入模板
背景 在之前,纸壳CMS的主题仅仅只是CSS样式,并不支持在主题下使用模板来构建不同的HTML结构.现在我们对主题功能做了增强,可以在主题下添加各自的模板,这样在制作主题时,就会更加自由.不仅如此,新 ...
- 使用vs code开发纸壳CMS并启用Razor智能提示
关于纸壳CMS 纸壳CMS是一个开源免费的,可视化设计,在线编辑的内容管理系统.基于ASP .Net Core开发,插件式设计: 下载代码 GitHub:https://github.com/Seri ...
- 纸壳CMS 3.0升级.Net Core 2.1性能大提升
微软发布了.Net Core 2.1正式版,纸壳CMS也在第一时间做了升级,并做了一系列的优化和调整,性能大幅提升,并解决了一些历史遗留问题,添加了一些新功能. Github https://gith ...
- 纸壳CMS 2.3,正式加入商城功能
纸壳CMS发布了2.3版本,主要是添加了商城功能,强化产品功能.让您的网站轻松实现电子商务. 有关2.3版本的更多信息,请查看以下链接: https://github.com/SeriaWei/ZKE ...
- 纸壳CMS替换默认实现
简介 纸壳CMS是一个开源免费的可视化内容管理建站系统,拖拽就可以轻松建网站. GitHub: http://github.com/SeriaWei/ZKEACMS 纸壳CMS在设计上使用的是ASP. ...
- ASP .Net Core路由(Route) - 纸壳CMS的关键
关于纸壳CMS 纸壳CMS是一个开源免费的,可视化设计,在线编辑的内容管理系统.基于ASP .Net Core开发,插件式设计: GitHub:https://github.com/SeriaWei/ ...
- 纸壳CMS可视化建站系统搭建多语言网站
纸壳CMS是可视化建站系统,现已经从架构上支持多语言.但是多语言功能默认是没有开启的.您可以从设置中开启多语言,或者随时关闭它,您可以随时进行切换. 开启多语言 如果您没有在系统设置中看到多语言设置菜 ...
- 纸壳CMS的插件加载机制
纸壳CMS是一个开源的可视化设计CMS,通过拖拽,在线编辑的方式来创建网站. GitHub https://github.com/SeriaWei/ZKEACMS.Core 欢迎Star,Fork,发 ...
随机推荐
- 分布式锁实践(一)-Redis编程实现总结
写在最前面 我在之前总结幂等性的时候,写过一种分布式锁的实现,可惜当时没有真正应用过,着实的心虚啊.正好这段时间对这部分实践了一下,也算是对之前填坑了. 分布式锁按照网上的结论,大致分为三种:1.数据 ...
- OpenCL NativeKernel 计算矩阵乘法
▶ 使用函数 clEnqueueNativeKernel 来调用 C/C++ 本地函数(在 OpenCL 中将其看做回调函数),使用本地编译器(而不是 OpenCL 编译器)来编译和执行内核 ● 代码 ...
- Windows下测量cpu利用率的类
方法参考网上的一段代码,把它改成了类以方便调用,很简单,但是可以一用,哈哈. cpu_usage.h #include <windows.h> class CpuUsage { publi ...
- 【CentOS 6.5】安装gcc-4.8.2和Qt5.2
因为CentOS6.5中gcc版本比较低.安装Qt5.2前先升级gcc. 首先下载gcc,附上百度盘地址:http://pan.baidu.com/s/1jGibvqY 解压安装包,并进入到解压文件夹 ...
- 对象的notify方法的含义和对象锁释放的三种情况
1,notify的含义 (1)notify一次只随机通知一个线程进行唤醒 (2)在执行了notify方法之后,当前线程不会马上释放该对象锁,呈wait状态的线程也不能马上获得该对象锁, 要等到 ...
- 迷你MVVM框架 avalonjs 0.9发布
本版本最大的改进是引进了ms-with绑定,现在可轻松遍历对象了. 改进列表如下: 重新使用082的scanNodes方法,因为有关旧式IE下UI渲染锁死的问题已经解决了. 优化each绑定与Coll ...
- win7局域网内共享文件夹及安全设置
右键想要共享的文件夹,选择属性. 在文件夹属性对话框中选择共享标签,如图: 点击共享按钮,弹出文件共享对话框. 添加 Everyone ,并根据实际需要修改权限.权限可以是读取 或 读取/写入. 到此 ...
- ORA-01157:无法标识/锁定数据文件,ORA-01110:数据文件。。。
- MySQL学习1---增删改查
1.基本概念 数据表:由行和列组成的二维表: 数据表中的行通常叫做记录或者元组: 数据表中的列通常叫做字段后者属性: 主键:数据表中的每个记录都必须是唯一的,而不允许出现完全相同的记录. 键:即关键字 ...
- __imp___vsnprintf
unresolved external symbol __imp___vsnprintf 解决方案找到了. 在vs2015工程选项,链接器附加依赖项里面添加legacy_stdio_definitio ...