增删改操作

(1)准备工作

     1)定义pojo

package sample.dataset;

import java.util.Date;


public class Product {
	private long id;
	private String name;
	private double price;
	private Date gmtCreate;
	private Date gmtModifieDate;
	
<span style="white-space:pre">	</span>....
}
     2)定义DataType对应Pojo


       此处是在全局定义,在view中没有matchType


     3)定义DataSet使用新建的DataType



     4)定义DataGrid使用定义的DataSet


    5)定义一个ToolBar,下面添加一个ToolBarButton,用来修改


    6)定义一个Dialog,用来编辑数据


    7) 在下面Children节点添加一个AutoForm,用来生成编辑表单


        注意,这里使用dataSet是为了可以根据dataSet中的数据来生成表单中的控件

    8)添加2个按钮,分别用来确定和取消



    9)添加UpdateAction,用来更新操作


        添加一个UpdateItem


    10)后端代码

package sample.curd;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

import sample.dataset.Product;
import sample.dataset.ProductDAO;

import com.bstek.dorado.annotation.DataProvider;
import com.bstek.dorado.annotation.DataResolver;
import com.bstek.dorado.data.entity.EntityState;
import com.bstek.dorado.data.entity.EntityUtils;

@Component
public class StdCURD {
	@Autowired
	private ProductDAO productDAO;
	
	@DataProvider
	public List<Product> getAll(){
		return productDAO.getData();
	}
	@DataProvider
	public List<Product> getByParam(Map<String, Object> params){
		List<Product> resultList = new ArrayList<>();
		
		if (params!=null && params.size()>0 && params.get("productId")!=null) {
				long id = Long.valueOf((String)params.get("productId"));
				for (Product product:productDAO.getData()) {
					if (product.getId() == id) {
						resultList.add(product);
						return resultList;
					}
				}
		}
		return productDAO.getData();
	}
	
	@DataResolver
	public void save(List<Product> products){
		for (Product product : products) {
			if (EntityState.DELETED.equals(EntityUtils.getState(product))) {
				System.out.println("删除操作");
			}else if (EntityState.MODIFIED.equals(EntityUtils.getState(product))) {
				System.out.println("修改操作");
			}else if (EntityState.NEW.equals(EntityUtils.getState(product))) {
				System.out.println("新增操作");
			}
		}
		productDAO.save(products);
	}
}


        最终页面如下:



(2)修改

        1)为编辑按钮绑定onClick事件

// @Bind #edit.onClick
!function(dialogEdit){
	dialogEdit.show();
}

        2)为取消按钮绑定onClick事件

// @Bind #cancleBtn.onClick
!function(dsProducts,dialogEdit){
	view.get("#dsProducts.data:#").cancel();
	dialogEdit.hide();
}
     意思是取消当前数据的操作,然后隐藏窗口

        3)为确定按钮绑定onClick事件

// @Bind #confirmBtn.onClick
!function(updateAction,dialogEdit){
	updateAction.execute(function(){
		dialogEdit.hide();
	});
}

(3)新增

        1)添加新增按钮

        2)为新增按钮添加onClick事件响应

// @Bind #addBtn.onClick
!function(dsProducts,dialogEdit){
	dsProducts.getData().insert();
	dialogEdit.show();
}

(4)删除(只能逻辑删除)

        1)添加删除按钮

        2)为删除按钮添加onClick事件响应

// @Bind #removeBtn.onClick
!function(dsProducts){
	var entity = view.get("#dsProducts.data:#");
	alert(entity.get("id"));
	entity.remove();
    if(entity){
        dorado.MessageBox.confirm("确认要删除记录吗?", function(){
        });
    }
}
       

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值