表格初始化&数据回填

开发工具与关键技术:正则表达式
作者:文泽钦
撰写时间:2019年4月27日
上一个文献已经写了表格初始化的方法了,现在写初始化表格的数据查询,写查询的方法前要写一个分页类,先添加一个类:

public class LayuiTablePage { }

需要用上的数据:

public class LayuiTablePage
{ 
/// page 代表当前页码
    public int page { get; set; }//get写入;set写出
    /// limit 代表每页数据量
    public int limit { get; set; }
    /// 分页开始序号
    public int GetStartIndex()//开始数据
    { return (page - 1) * limit;}
    /// 分页结束序号
    public int GetEndIndex()//结束数据
    { return page * limit - 1;}
}

新建一张表,把页面上所有需要显示的信息存放在里面,也是新建一个实体类:

public class employeeVo:PW_Employee
{
    //继承,包含了员工表所有的信息
    //大部分数据都在员工表,所以继承员工表
    //在这个表的基础上把后面的数据加上
    // 部门名称
    public string DeoartmentName { get; set; }
    // 职位名称
    public string PositionName { get; set; }
    // 账号
    public string UserNuber { get; set; }
}

控制器查询的方法,涉及到多张表的查询,有员工表、部门、表还有职位表连表查询,查询前先开启分页,不可能把数据库查出的值一次全部显示出来的,写完分页后,再写查询方法:

public ActionResult selectStudentAll(LayuiTablePage 	layuiTablePage)//LayuiTablePage分页
	{
		//连表查询,从数据库中把员工表的数据查询出来
        List<employeeVo> listEmployee = (from tbEmployee in MyModels.PW_Employee 
        
		//连表查询,连接数据库中的部门表,员工表的部门id等于部门表的部门id
       join tbDepartment in MyModels.SYS_Department on tbEmployee.DepartmentID 
       equals tbDepartment.DepartmentID
       
        //连表查询,连接数据库中的职位表,员工表的职位id等于职位表的职位id
       join tbPosition in MyModels.SYS_Position on tbEmployee.PositionID equals tbPosition.PositionID
       
   	   //orderby排序,根据员工表里的员工id倒叙排序,确保新增的员工信息在页面第一条显示
       orderby tbEmployee.EmployeeID descending
       
    //把所查询到的数据存放到这一张新表上
    select new employeeVo {
   
     //页面上需要显示的信息
           EmployeeNumber=tbEmployee.EmployeeNumber,//编号
           EmployeeName=tbEmployee.EmployeeName,//姓名
           Phone=tbEmployee.Phone,//电话
           Cellphone=tbEmployee.Cellphone,//手机
           DeoartmentName=tbDepartment.DeoartmentName,//部门
           PositionName=tbPosition.PositionName,//职位
           Address=tbEmployee.Address,//地址
           Remark=tbEmployee.Remark,//备注
           EmployeeID=tbEmployee.EmployeeID//员工id
                            }).ToList();//数据类型
                            
        //计算查询到的数据总条数
        int totalRow = listEmployee.Count();

        //对数据进行分页,不让数据全部在同一页上全部显示
        List<employeeVo> dbEmployeeVo = listEmployee//显示总条数
            .Skip(layuiTablePage.GetStartIndex())//从第一条开始
            .Take(layuiTablePage.limit)//每页显示的条数
            .ToList();
            
      //实例化,把计算出的总条数,以及提取出来的dbEmployeeVo赋值给LayuiTableData,再返回值
    	LayuiTableData<employeeVo> layuiTableData = new LayuiTableData<employeeVo>();
    	
        //LayuiTableData等于totalRow这个值
        layuiTableData.count = totalRow;
        layuiTableData.data = dbEmployeeVo;

        //返回页面
        return Json(layuiTableData, JsonRequestBehavior.AllowGet);
}

要注意页面传过来的值要与数据库查出来的名称或者ID一样,否则控制器接收不到值;例如:EmployeeNumber=tbEmployee.EmployeeNumber, EmployeeNumber是表格初始化时传过来的值,所以表格初始化时这个值的命名要与数据库中的值命名一样。
确保每个初始化的命名与数据库的一样就相等,这样控制器就能把页面上的需要显示的值回填了:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值