一般表格都会要实现增删改查的功能,下面就来讲解easyUI中dadagrid数据表格的修改实现。 实现修改操作只能选择一行来修改,要选中一行,然后获取到一行的数据显示在修改的表单窗口中。 那么首先我们要考虑几个问题: _ 1. 如何获取到一行的数据 2.如何显示到修改窗口 3.后台代码如何编写_
查看jquery easyUI的API,其中有两个方法: _getSelected none 返回第一个被选中的行或如果没有选中的行则返回null。
getSelections none 返回所有被选中的行,当没有记录被选中的时候将返回一个空数组。 _
- 点击修改按钮,获取datagrid选中的一行数据
//获取当前datagrid选中的数据
var rows = $("#grid").datagrid('getSelections');
//判断是否只选中一行
if(rows.length != 1){
//不选或者多选
$.messager.alert("提示信息","修改数据时,只能选择一行信息","warning");
}
- 将选中的数据,显示在修改窗口的form表单
解决方法:使用jquery easyUI 提供的form对象
- 提供隐藏字段
修改功能,需要提供修改的 id
<!--在修改窗口的form表单中,提供隐藏域 装载id -->
<input type="hidden" name="id" />
最终代码:
{
id : 'button-edit',
text : '修改',
iconCls : 'icon-edit',
handler : function(){
//获取当前datagrid选中的数据
var rows = $("#grid").datagrid('getSelections');
//判断是否只选中一行
if(rows.length != 1){
//不选或者多选
$.messager.alert("提示信息","修改数据时,只能选择一行信息","warning");
} else {
//只选择一行
var row = rows[0];
//进行表单回显操作
$("#standardForm").form('load',row);
//显示窗口
$("#standardWindow").window('open');
}
}
}
说明:修改和添加的后台实现功能一样的。id为null表示添加,反之表示修改
-
后台添加功能的实现: maven+struts2+ spring + spring data jpa
-
action的代码实现:
@Controller
@ParentPackage("json-default")
@Namespace("/")
@Scope("prototype")
public class StandradAction extends ActionSupport implements ModelDriven<Standard> {
private Standard standard = new Standard();
@Override
public Standard getModel() {
return standard;
}
//调用Service层
@Autowired
private StandaredService standardService;
//添加 修改
@Action(value="standard_save",
results={@Result(name="success",type="redirect",
location="./pages/base/standard.html")})
public String save(){
standardService.save(standard);
return SUCCESS;
}
}
- service层的实现: service接口:
public interface StandaredService {
void save(Standard standard);
}
service实现接口:
@Service
@Transactional
public class StandardServiceImpl implements StandaredService {
//注入Dao层
@Autowired
private StandardRepository standardRepository;
//添加,修改
@Override
public void save(Standard standard) {
standardRepository.save(standard);
}
- DAO的接口,不需要写DAO的实现类
public interface StandardRepository extends JpaRepository<Standard, Integer> {
}
注意:DAO只需要写接口继承JpaRepository,不需要实现,在spring data jpa中对 save方法都已经封装了