今天我想给大家讲一下这个模糊查询。什么是模糊查询,我们平时逛淘宝,京东的时候。我们都要对自已的东西进行搜索。那么这个搜索的名称肯定是个范围的搜索。不可能说百分之一百的写出他的名字。这种就是一个模糊查询操做。

大家看一下下面的一个图。我只是在编号输入1 或者2 他就会把相对应的含有数据1/2的给我显示出来。

jedies 模糊查询 模糊查询功能_数据

当然在这里你还可以输入完整的数据查询。你还可输入一个字,他都可以查询出来的。只要你喜欢,那么怎样做呢。其实很简单,只要添加几个参数即可。
下面是页面 与控制器的代码部分。
一、首先在表格渲染的时候不要调用查询的方法。

tabSetMeal = layuiTable.render({
 elem: ‘#tabSetMeal’,
 data:[],
 data[];这个是让数据为空的操做。如果不写URL。必须要写DATA[].让数据加载为空。防止报错。
 cols: [[ ]],

二、在多条件查询这里调用查询的方法。
操做:通过ID值获取input的数据 ,再把三个参数传递到控制器,这时候查询表格数据的代码和模糊的代码是是同一个方法,把多余的三个参数直接放在查询的控制器方法就可以了。

// 1.5多条件查询套套餐信息
 $("#Inquire").click(function () {
 var Number = $("#Number").val(); //获取页面编号元素
 var spellYard = $("#spellYard").val();//获取页面拼音码元素
 var Name = $("#Name").val();//获取页面名称元素
 tabSetMeal = layuiTable.reload(“tabSetMeal”, {
 url: ‘/EssentialData/Essential/SelectSetMeal’,
 page: {
 curr: 1 //指定当前页 以便查出少的条数
 },
 where: {
 Number: Number,
 spellYard: spellYard,
 Name: Name,
 }
 })
 })


二、控制器的代码部分。
查询数据的代码与模糊参数共用带码部分
传递上面三个参数:Number spellYard Name

public ActionResult SelectSetMeal(LayuiTablePage layuiTablePage, string Number, string spellYard, string Name)
 {
 var listSetMeal = (from tbSetMeal in myModel.PW_SetMeal
 select tbSetMeal).ToList();


这里要对三个参数值进行判断,页面是否在进行模糊查询。如果没有就跳过。有就执行判断的代码。

if (!string.IsNullOrEmpty(Number))
 {
 listSetMeal = listSetMeal.Where(m => m.SetMealNumber.Contains(Number.Trim())).ToList();
 }
 if (!string.IsNullOrEmpty(spellYard))
 {
 listSetMeal = listSetMeal.Where(m => m.SetMealSpell.Contains(spellYard.Trim())).ToList();
 }
 if (!string.IsNullOrEmpty(Name))
 {
 listSetMeal = listSetMeal.Where(m => m.SetMealName.Contains(Name.Trim())).ToList();
 }
 int totals = listSetMeal.Count();
 listSetMeal = listSetMeal.Skip(layuiTablePage.GetStartIndex())
 .Take(layuiTablePage.limit).ToList();
 LayuiTableData<PW_SetMeal> layuiTable = new LayuiTableData<PW_SetMeal>();
 layuiTable.data = listSetMeal;
 layuiTable.count = totals;
 return Json(layuiTable, JsonRequestBehavior.AllowGet);
 }


最后在按照表格数据的要求返回数据即可。
好了今天的内容就这么多,希望对你有所帮助,不足之处请多多包涵。