一个文本框查询多个字段

本文介绍了在项目开发中如何实现一个文本框查询多个表和字段的方法,涉及到仓库表和发货表的仓库名称、编号、备注、联系人、电话等字段的模糊查询。在控制器中使用传入的参数进行条件判断,并在视图中设置查询代码,通过“||”连接不同字段的查询条件。

开发工具与关键技术:VS、

作者:#33

撰写时间:撰写时间:2019年07月17日

一个文本框查询一个字段的方法太麻烦,做项目中遇到的一个文本框查询多个表多个字段的功能。如下面的仓库表和发货表内容的查询:查询仓库名称、编号、备注、联系人、电话

查询结果:

控制器查询方法:传参(WarehouseName),通过参数得到的值进行模糊查询

再加上条件语句(下面红色框)用“||”分开要查询的字段。

public ActionResult SelectWarehouseInfor(LayuiTablePage layuiTablePage, string WarehouseName) {

  var listWarehouse = (from tbWarehouse in myModel.S_Warehouse

      join tbSendOutGoods in myModel.D_SendOutGoods on tbWarehouse.SendOutGoodsID equals tbSendOutGoods.SendOutGoodsID

select new WarehouseInfor{

WarehouseID = tbWarehouse.WarehouseID, WarehouseName = tbWarehouse.WarehouseName,

WarehouseNum = tbWarehouse.WarehouseNum, WarehouseState = tbWarehouse.WarehouseState,

WarehouseDefaultStatus=tbWarehouse.WarehouseDefaultStatus,

  Remark = tbWarehouse.Remark, SendOutGoodsID = tbWarehouse.SendOutGoodsID,

  Contacts = tbSendOutGoods.Contacts, ContactPhone = tbSendOutGoods.ContactPhone,

  Mailbox = tbSendOutGoods.Mailbox, ZipCode = tbSendOutGoods.ZipCode,

  ContactAddress = tbSendOutGoods.ContactAddress, }).ToList();

if (WarehouseID > 0) { listWarehouse = listWarehouse.Where(m => m.WarehouseID == WarehouseID).ToList();}

if (SendOutGoodsID > 0) {

listWarehouse = listWarehouse.Where(m => m.SendOutGoodsID==SendOutGoodsID).ToList();}

if(!string.IsNullOrEmpty(WarehouseName)) {

listWarehouse = listWarehouse.Where(m => m.WarehouseName.Contains(WarehouseName) || m.WarehouseNum.Contains(WarehouseName) || m.Contacts.Contains(WarehouseName) || m.ContactPhone.Contains(WarehouseName) || m.Remark.Contains(WarehouseName)).ToList();}

int totalRows = listWarehouse.Count();//总条数

            List<WarehouseInfor> list = listWarehouse.OrderBy(m => m.WarehouseID)

           .Skip(layuiTablePage.GetStartIndex()).Take(layuiTablePage.limit).ToList();

LayuiTableData<WarehouseInfor> layuiTableData = new LayuiTableData<WarehouseInfor>();

layuiTableData.count = totalRows; layuiTableData.data = list;

   return Json(layuiTableData, JsonRequestBehavior.AllowGet); }

视图中的代码:分别声明查询的字段对象获取输入框接收的值进行查询。

function tabWarehouseSearch() {

var WarehouseNum = $("#Warehousesearch").val().trim();

  if (WarehouseName == null || WarehouseName == undefined ) {

        WarehouseName == "";

}

  tabWarehouse = layuiTable.reload("tabWarehouse", {

  url: "/Sales_Process/DataBase/SelectWarehouseInfor",page: { curr: 1 },

  where: {  WarehouseName: WarehouseName.trim(),

 } });}

 //回车键搜索

$('body').bind('keypress', function (e) {

if (e.keyCode == "13") { $("#WarehouseSearchid").click();}})

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值