《Layui的数据表格的多条件查询》

没错是姗姗. 2019-06-28 08:27:02
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
开发工具与关键技术:VS MVC
作者:黄姗姗
年级:18级
撰写日期:2019年6月27日
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

1、首先第一步写好触发查询的按钮:

2、创建这个查询的点击事件:

3、然后在这个点击事件里面获取需要传递的值,即是需要根据区域、客户类型这些条件来查询的,就把区域、客户类型这些值获取到:

4、由于layui的数据表格已经初始化了:
参数解析:
elem:为表格的ID,
url:请求数据的路径
id:为返回数据中的主键ID,比如我的客户表的客户ID,就可以放在这里
method:为提交的方式,提交的方式有post、get
where:存放参数,即是你需要根据什么条件来查,
cols:就是列的内容

5、点击查询按钮,提交数据,刷新当前表格的数据:
Table.reload()为自动化渲染的重载的意思,
tableResult.realod()的参数解析:
clientID:这个为第四步那里表格初始化的id的值
url :请求数据的路径,因为是操作原来的表,所以url和第四步的url路径要一致
where:就是额外的参数,比如,我要报获取到的客户类型和区域来进行查询,就是这种传递参数的方式,Client:Clinet ,分号前面的Clinet要和控制器的参数名一致,分号后面的Client,就是我获取到客户类型的值
page:页码

6、控制器写获取数据的方法:

7、然后在这个方法里面写查询你需要的表的数据:
public ActionResult selectclient(LayPage laypage, int Client, string Area)
{
//首先第一步先把所有需要的数据进行查询来
var tb = (from tbclinet in mymodel.client
select new client
{
ClientID = tbclinet.ClinetID,
clinetname = tbclinet.name,
clinetTypeID = tbclinet.clientTypeID,
Areaname = tbclinet.Area
}).ToList();
//第二步,开始根据条件筛选,这里判断client是否等于0,如果传过来的client等于0,就不会就去if里面的语句,如果不等于0的,就跳进if的语句里
if (clinet != 0) {
//这里是将tb进行添加where筛选条件,利用表的clientTypeID等于client的条件来查询
tb = tb.where(m => m.clinetTypeID ==client).ToList();
}
这里判断Area是否等于"",如果传过来的client等于"",就不会就去if里面的语句,如果不等于""的,就跳进if的语句里
if (Area != "")
{
//这里是将tb进行添加where筛选条件,利用表的Areaname等于Area的条件来查询
tb = tb.where(m => m.Areaname == Area).ToList();
}
int count = tb.Count();//获取tb的总数
List<Client> listClient = tb.OrderBy(S => S.ClientID)
.Skip(laypage.GetStartIndex()).Take(laypage.limit).ToList<Client>()
LayTable<Client> laydata = new LayTable<Client>();
laydata.count = count;
laydata.data = listClient;
return Json(laydata, JsonRequestBehavior.AllowGet);
}
...全文
1353 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
资源下载链接为: https://pan.quark.cn/s/1bfadf00ae14 在本文中,我们将详细探讨如何借助Layui框架实现数据表格的重载功能,尤其是结合搜索功能的实现。Layui是一款基于Layui.js的前端UI框架,提供了众多实用的组件,其中数据表格组件支持分页、排序、自定义事件等多种功能。首先,我们需要了解Layui数据表格的基本结构。 在HTML部分,需要创建一个表格元素,并为其指定lay-filter属性,以便后续操作。例如: 接着,在JavaScript部分,通过Layui的API来渲染表格。使用layui.table.render方法初始化表格,如下所示: 其中,elem参数用于指定表格的DOM选择器,height设置表格高度,cols定义表格列配置。若要实现数据的异步加载,需添加url参数,即数据接口地址,并可附加where等参数,例如: 在列配置中,可定义字段、标题、对齐方式、宽度等,还能设置自定义事件,如: 接下来,重点探讨如何实现搜索功能。需在页面添加搜索表单元素,并监听提交或按钮点击事件,例如: 在JavaScript中,当用户点击搜索按钮时,调用table.reload方法重新加载表格数据: 在table.reload中,传递新的where参数,包含搜索条件,并将page.curr设置为1,确保每次搜索后从第一页开始。服务器端需提供接口处理这些条件,并返回匹配的JSON数据,其格式需与初次加载表格时一致,以便Layui正确解析并更新表格内容。 总的来说,Layui数据表格的重载功能与搜索功能的结合,主要是通过监听用户搜索操作,获取搜索条件,调用table.reload方法将条件传给服务器,服务器筛选数据后返回,Layui框架再根据返回数据更新表格内容。这一过程让用户能够根据输入的搜索条件实时查看匹配结果,从而提升用户体验。

492

社区成员

发帖
与我相关
我的任务
社区描述
硬件使用 非技术区
社区管理员
  • 非技术区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧