1.声明赋值 layui的值
<script>
//声明
varlayer,layuiTable;
varX;
//加载&初始化layui模块
//layui.use(所要用到的方法,回调函数(){赋值调用})
例:layui.use(["layer","table"],function(){
layer=layui.layer;
layuiTable=layui.table;
})
- 2.layui.render()方法渲染表格
//方法渲染表格
//layui.render()方法 执行渲染
X=layui.render({
//表格数据容器 #id String/DOM 指定原始容器的选择器或 DOM,方法渲染方式必填
elem:#id,
//获取表单数据路径 异步数据接口相关参数。其中 url 参数为必填项
url:"",
//表头 需用二维数组 设置表头。值是一个二维数组。方法渲染方式必填
cols:[[
//常用表头参数
1.field String 设定字段名。字段名的设定非常重要,且是表格数据列的唯一标识
2.title String 设定标题名称
3.width Number/String 设定列宽,若不填写,则自动分配;若填写,则支持值为:数字、百分比
4.type String 设定列类型。可选值有:
normal(常规列,无需设定)
checkbox(复选框列)
radio(单选框列,layui2.4.0新增)
numbers(序号列)
space(空列)
5.fixed String 固定列。可选值有:left(固定在左)、right(固定在右)
6.align String 单元格排列方式。可选值有:left(默认)、center(居中)、right(居右)
7.templet String 自定义列模板
8.toolbar String 绑定列工具条。设定后,可在每行列中出现一些自定义的操作性按钮
9.colspan Number 单元格所占列数(默认:1)。一般用于多级表头 3
例:{title:'',colspan:2,templet:setOprate&&toolbar:"#id"}
],[
10.rowspan Number 单元格所占行数(默认:1)。一般用于多级表头 2
例:{field:'',rowspan:2}
]],
//page 开启分页 两种方法
1.page:true;
2.page:{
limit:10, //limit Number 每页显示的条数(默认:10)
limits:[5,10,15,20,25,30] //limits Array 每页条数的选择项
}
//data Array 直接赋值数据
data:[];
})
//刷新表格
searchCondition();
})
3.templet自定义列 法一
给表头里的自定义列赋值
//自定义列
functionsetOprate(rowData){
//获取字段名
var赋值参数=rowData.//字段名;
return'<button type="button" οnclick="setUp('传参')">修改</button>'+'<button type="button" οnclick="dele('传参')">删除</button>'
}
4.toolbar监听事件 法二
自定义列监听,工具条事件放在方法渲染刷新表格==同一级==
==lay-event==属性必填
<scripttype="text/html"id="#id">
<buttontype="button"class="layui-btn layui-btn-xs"lay-event="edit">修改</button>
<buttontype="button"class="layui-btn layui-btn-xs layui-btn-danger"lay-event="del">删除</button>
</script>
//工具条事件
//注:tool 是工具条事件名,tabStudent 是 table 原始容器的属性 lay-filter="对应的值"
//事件监听 table.on('event(filter)', callback); 注:event为内置事件名,filter为容器lay-filter设定的值
layuiTable.on('tool(X)',function(obj){
//获取当前行数据
vardata=obj.data;
//获得 lay-event 对应的值(也可以是表头的 event 参数对应的值)
varlayEvent=obj.event;
//获得当前行tr的DOM对象
vartr=obj.tr;
//判断修改&删除
//修改
if(layEvent=='edit'){
//do something
//执行修改
openUopdateModal(data.//视情况需要获取的值)
}else if(layEvent=='del'){
//do something
//执行删除
delet(data.//视情况需要获取的值)
}
})
5.引入实例类
在项目控制器将数据库数据以实例类引入
Models.引入数据库类的名字自定义变量=newModels.引入数据库类的名字();
2.查询
从视图层查询数据库的数据
1.linq查询
linq查询:是一种从数据源检索数据的表达式
在数据源、查询本身及查询执行中是强类型的
==查询变量不存储查询的结果==
操作三部曲:1.取数据源
2.创建查询
3.执行查询
linq查表写法:
//使用linq查询
varlinqXx=from自定义表名inModel对象。查询的表
select自定义表名
&& //List<T> 类型变量<泛型>
List<所有需要查询的表&类名>linq=(from自定义表名inModel对象.查询的表
【where自定义的表名.字段1关系运算符'=='值 【&&自定义的表名。字段2关系运算符值】】
【orderby自定义表名。字段】
【selectnew{
//匿名函数
自定义的表名.字段1,
自定义的表名.字段2
}】
【selectnew类名{
类的属性1=自定义的表名.字段1,
类的属性2=自定义的表名.字段2
}】).Single();//查询单条数据 多条则会出现异常
&.ToList();//查询多条并转为List 列表
&.Count();//查询有多少条数据
2.Lambda表达式
Where 方法:Where(num => num % 2 == 0) 此内联表达式称为 ==lambda 表达式==。将代码编写为匿名方法或泛型委托或表达式树是一种便捷的方法
===>== 是lambda的运算符,可读为“goes to”