记Dorado7学习(5)

来源:互联网 发布:流程优化的方法 编辑:程序博客网 时间:2024/06/05 15:46

本文来开发所有联系人页面,效果如图

准备工作由于需要读取sl_employee表中的数据,因此需要在Common.model.xml中新建一个DataType,并且设置该dataType的属性 name为SlEmployee ,matchType属性com.bstek.dorado.sample.standardlesson.entity.SlEmployee,然后点击SIEmployee这个DataType右键选择【通过简单Java对象自动创建PropertyDefs】,就会生成PropertyDef,然后设置中文说明,分别设置label属性

开发步骤  全部查询

在com.bstek.dorado.sample.standardlesson.junior.contacts目录下新建View,将View命名为AllContacts.view.xml。在【ViewConfig】节点下的【View】节点下添加一个DataSet控件

然后设定DataSet的属性:id:datasetEmployee DataType:[SlEmployee] dataProvider:employeeService#getAll。

定义好了数据之后,为了展示数据,需要添加一个数据敏感控件对象DataGrid(其实就是表格控件) 设置其属性 id: datagridEmployee dataSet:datasetEmployee ;

接着【鼠标右键】点击datagridEmployee控件,在弹出菜单中选择【Generate DataColumns】,生成相关字段:调整字段显示顺序,【鼠标左键】选中字段并保持按键不放,拖动字段到需要放置的地方,是否放置到位有定位线提示,松开按键即可,如下图所
示,删除多余字段,保留下图的几个字段

准备后台服务 在com.bstek.dorado.sample.standardlesson.service包中新建EmployeeService.java

package com.bstek.dorado.sample.standardlesson.service;import java.util.Collection;import javax.annotation.Resource;import org.springframework.stereotype.Component;import com.bstek.dorado.annotation.DataProvider;import com.bstek.dorado.sample.standardlesson.dao.SlEmployeeDao;import com.bstek.dorado.sample.standardlesson.entity.SlEmployee;@Componentpublic class EmployeeService {@Resourceprivate SlEmployeeDao slEmployeeDao;@DataProviderpublic Collection<SlEmployee> getAll(){return slEmployeeDao.getAll();}}
查看运行效果
项目启动完毕后,在浏览器中输入如下网址:http://localhost:8080/standardlesson/com.bstek.dorado.sample.standardlesson.junior.contacts.AllContacts.d
效果如下图

分页查询修改datasetEmployee,设置其属性 pageSize:15;dataProvider:employeeService#getAllForPage

新增分页控件 DataPilot是数据导航条控件,主要用于数据分页导航显示等。在【ViewConfig】节点下的【View】节点下添加一个DataPilot控件

【鼠标左键】选中DataPilot控件不放,将其移动到【datagridEmployee】控件上方,并设置其属性 id : datapilotEmployee dataSet:datasetEmployee itemCodes:pages,pageSize(用于定义数据导航条中要显示那些子对象的表
达式。)

准备后台服务在在EmployeeService类下面添加新方法getAllForPage();

package com.bstek.dorado.sample.standardlesson.service;import java.util.Collection;import javax.annotation.Resource;import org.springframework.stereotype.Component;import com.bstek.dorado.annotation.DataProvider;import com.bstek.dorado.data.provider.Page;import com.bstek.dorado.sample.standardlesson.dao.SlEmployeeDao;import com.bstek.dorado.sample.standardlesson.entity.SlEmployee;@Componentpublic class EmployeeService {   @Resource   private SlEmployeeDao slEmployeeDao;   @DataProvider   public Collection<SlEmployee> getAll(){     return slEmployeeDao.getAll();   }   @DataProvider   public void getAllForPage(Page<SlEmployee> page){    slEmployeeDao.getAll(page);   }}

到这里可以保存并运行项目看下效果http://localhost:8080/standardlesson/com.bstek.dorado.sample.standardlesson.junior.contacts.AllContacts.d


过滤栏查询这里我们可以使用开DataGrid控件的过滤栏属性来实现过滤功能 先修改datagridEmploye控件的两个属性 showFilterBar:true(是否显示过滤栏)

filterMode:serverSide(datagrid的过滤模式为服务端过滤) 然后修改datasetEmploye的dataProvider属性:employeeService#getAllForFilter 代码如下

package com.bstek.dorado.sample.standardlesson.service;import java.util.Collection;import javax.annotation.Resource;import org.hibernate.criterion.DetachedCriteria;import org.springframework.stereotype.Component;import com.bstek.dorado.annotation.DataProvider;import com.bstek.dorado.data.provider.Criteria;import com.bstek.dorado.data.provider.Page;import com.bstek.dorado.hibernate.HibernateUtils;import com.bstek.dorado.sample.standardlesson.dao.SlEmployeeDao;import com.bstek.dorado.sample.standardlesson.entity.SlEmployee;   @Component   public class EmployeeService {   @Resource   private SlEmployeeDao slEmployeeDao;   @DataProvider   public Collection<SlEmployee> getAll(){     return slEmployeeDao.getAll();  }   @DataProvider    public void getAllForPage(Page<SlEmployee> page){       slEmployeeDao.getAll(page);    }   @DataProvider    public void getAllForFilter(Page<SlEmployee> page, Criteria criteria) throws Exception{         DetachedCriteria detachedCriteria = DetachedCriteria.forClass(SlEmployee.class);         if (criteria != null){         slEmployeeDao.find(page, HibernateUtils.createFilter(detachedCriteria, criteria));   }else{     slEmployeeDao.getAll(page);     }  }}

到这里就完成了,可以查看下效果




原创粉丝点击