表单与表格是信息化系统里很常见的控件,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