1.总体思路 nc 刷新的方法就是继承刷新默认的class 类,然后在action类中 获取页面的id 通过id来查询数据,将查到的数据用实体的数据接收,然后塞到modle中显示即可。
需要注意的有两点 一时 注意sql的优化,比如多个id查询 最好不要用for 循环遍历去一个一个查 最好是用in来查询,还有一个需要注意 用in查询 字段最好不要超过3000.
在查询过程中,由于数据量比较大,需要调用风车界面 ,在数据没查完 需要调用它 ,调完了 就结束。
具体代码如下:
package nc.ui.am.actions.batch;
import java.awt.Container;
import java.awt.event.ActionEvent;
import java.util.ArrayList;
import java.util.List;
import nc.bs.framework.common.NCLocator;
import nc.itf.uap.IUAPQueryBS;
import nc.jdbc.framework.processor.BeanListProcessor;
import nc.ui.am.file.ace.view.ShowBatchBillTable;
import nc.ui.pub.beans.MessageDialog;
import nc.ui.pub.beans.progress.DefaultProgressMonitor;
import nc.ui.pub.beans.progress.IProgressMonitor;
import nc.ui.pubapp.uif2app.model.BatchBillTableModel;
import nc.ui.uif2.ShowStatusBarMsgUtil;
import nc.ui.uif2.actions.batch.BatchRefreshAction;
import nc.ui.uif2.components.progress.TPAProgressUtil;
import nc.vo.am.file.EquipmentPrice;
import nc.vo.pub.BusinessException;
public class MyBatchRefresh extends BatchRefreshAction{
private static final long serialVersionUID = 7719479915326525195L;
private ShowBatchBillTable editor;
private BatchBillTableModel model = null;
private IUAPQueryBS query;
private TPAProgressUtil tpaProgressUtil;
private Container parent;
public MyBatchRefresh() {
super();
setBtnName("刷新");
setCode("refreshAction");
}
@Override
public void doAction(ActionEvent ar