saveaction.java

来自「mywork是rcp开发的很好的例子」· Java 代码 · 共 61 行

JAVA
61
字号
/*
 * Created on 2003-4-10
 *
 * To change the template for this generated file go to
 * Window>Preferences>Java>Code Generation>Code and Comments
 */
package net.sf.pim.action;

import net.sf.component.table.BindedTableViewer;
import net.sf.pim.UiUtil;
import net.sf.util.persistence.DMFactory;
import net.sf.util.persistence.DataException;
import net.sf.util.persistence.IDataManager;
import net.sf.util.persistence.IEntry;

import org.eclipse.swt.SWT;

/**
 * @author lzhang
 */
public class SaveAction extends UiAction {
    public SaveAction() {
        super();
        name = "保存";
        gif = "save.gif";
        quick=SWT.CTRL+'S';
    }

    public void run() {
    	super.run();
    	if(UiUtil.getActiveTableEditor().getName().equals("日志")){
	        if (parent.isMulti() || !parent.isDirty())
	            return;
	        try {
				parent.getDataManager().createData(parent.getData());
			} catch (DataException e) {
				e.printStackTrace();
			}
	        parent.setDirty(false);
    	}else{
    		BindedTableViewer btv=UiUtil.getActiveTableEditor().getViewer();
    		if(!btv.getModel().isEditable() || !btv.getModel().isDirty())
    			return ;
    		try {
				IDataManager idm = DMFactory.getDataManager(UiUtil.getActiveTableEditor().getEntityClass());
				//若第一个字段为整型,则将整个list作为一组保存
				String id="";
				try{
					id=String.valueOf(Integer.parseInt(((IEntry)btv.getModel().getRows().get(0)).getContent()[0]));
				}catch(NumberFormatException nfe){
					;
				}
				idm.createList(btv.getModel().getRows(),id);
			} catch (DataException e) {
				e.printStackTrace();
			}
			btv.getModel().setDirty(false);
    	}
    }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?