我们查找数据,有时候表的数据太多,查找时间就会有点长,这就需要有个条件查询,根据你输入的条件查询出你想要查询的数据。
HTML代码:
<form class="form-horizontal px-2" style="border: 1px solid rgba(0,0,0,.125)">
<strong>查找用户</strong>
<div class="form-group form-row">
<label class="col-form-label col-3" for="SUserName">用户名:</label>
<div class="col-9">
<input class="form-control" name="UserName" id="SUserName">
</div>
</div>
<div class="form-group form-row">
<label class="col-form-label col-3" for="SUserID">用户ID:</label>
<div class="col-9">
<input class="form-control" name="UserID" id="SUserID">
</div>
</div>
<div class="w-100 mb-2 d-sm-none d-md-none d-lg-none d-xl-none"></div>
<div class="form-group form-row justify-content-center">
<div class="col-auto">
<button type="button" class="btn btn-outline-primary" onclick="tabStudentSearch()">查询</button>
</div>
</div>
</form>
页面关于下拉框数据的绑定的部分代码:
//1.3 组合查询
function tabStudentSearch() {
//获取页面筛选内容
var userName = $("#SUserName").val();
var userID = $("#SUserID").val();
tabWebsitePayments = layuiTable.reload('tbBankAccount', {
url: '/LoanManagement/Account/SeUserBank/',//控制器路径
page: {
curr: 1,//重置到第一页
},
where: { //设定异步数据接口的额外参数,比如设置多条件查询的参数
userName: userName, userID: userID
}
});
}
在页面写完相关代码,再到控制器写代码:
public ActionResult SeUserBank(LayuiTablePage layuiTablePage, string userName, int? userID)
{
var listStu = from tbBankAccount in myEntities.B__BankAccount
join tbUserBank in myEntities.B_UserBank on tbBankAccount.BankAccountID equals tbUserBank.BankAccountID
join tbClient in myEntities.S_Client on tbUserBank.ClientID equals tbClient.ClientID//客户表
join tbUser in myEntities.S_User on tbClient.UserID equals tbUser.UserID//用户表
join tbCity in myEntities.D_City on tbBankAccount.CityID equals tbCity.CityID
join tbProvince in myEntities.D_Province on tbCity.ProvinceID equals tbProvince.ProvinceID
join tbBank in myEntities.B__Bank on tbBankAccount.BankID equals tbBank.BankID
orderby tbBankAccount.BankAccountID descending
select new UserBank//构建的实体类
{
UserID = tbUser.UserID,
BankID = tbBank.BankID,
CityID = tbCity.CityID,
BankAccountID = tbBankAccount.BankAccountID,//银行账户ID
UserName = tbUser.UserName,//用户名
RealName = tbClient.RealName,//用户真实姓名
BankName = tbBank.BankName,//提现银行
CityName = tbCity.CityName,//城市
ProvinceName = tbProvince.ProvinceName,//省份
OpeningBranchName = tbBankAccount.OpeningBranchName,
BankAccount = tbBankAccount.BankAccount,//提现账号
};
if (!string.IsNullOrEmpty(userName))
{
userName = userName.Trim();
listStu = listStu.Where(p => p.UserName.Contains(userName));
}
if (userID > 0)
{//筛选数据
listStu = listStu.Where(m => m.UserID == userID);
}
//获取总数
var intTotalRow = listStu.Count();
List<UserBank> list = listStu
.Skip(layuiTablePage.GetStartIndex())
.Take(layuiTablePage.limit)
.ToList();
//调用分页封装类
LayuiTableData<UserBank> layuiTableData = new LayuiTableData<UserBank>(); ;
layuiTableData.count = intTotalRow;//行总数
layuiTableData.data = list;//具体显示数据
return Json(layuiTableData, JsonRequestBehavior.AllowGet);
}
效果:输入用户名或用户ID,筛选出想要的数据