⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 masterdetail2viewmodel.java

📁 dorado 展现中间件是一款企业级的商用AJAX平台软件
💻 JAVA
字号:
package sample.skills.data;

import java.util.Date;

import com.bstek.dorado.data.ParameterSet;
import com.bstek.dorado.data.Record;
import com.bstek.dorado.data.db.DBStatement;
import com.bstek.dorado.utils.variant.VariantSet;
import com.bstek.dorado.view.DefaultViewModel;
import com.bstek.dorado.view.data.ViewDataset;

/**
 * NewDatasetViewModel
 */
public class MasterDetail2ViewModel
    extends DefaultViewModel {

  protected void doUpdateData(ParameterSet parameters,
                              ParameterSet outParameters)
      throws Exception {
    ViewDataset datasetMaster = getDataset("datasetMaster");
    ViewDataset datasetDetail = getDataset("datasetDetail");

    // 注意: 本例中使用的新建主键值的方法仅用于演示, 在实际应用中并不可取.
    VariantSet varSet;
    DBStatement st = new DBStatement();
    try {
      st.setSql("SELECT MAX(id) FROM TEST_MASTER");
      varSet = st.query();
      long masterId = varSet.getLong(0);

      st.setSql("SELECT MAX(id) FROM TEST_DETAIL");
      varSet = st.query();
      long detailId = varSet.getLong(0);

      datasetMaster.moveFirst();
      while (!datasetMaster.isLast()) {
        if (datasetMaster.getRecordState() == Record.STATE_NEW) {
          datasetMaster.setLong("id", ++masterId);
        }
        datasetMaster.setDouble("field2", Math.random() * 10000);
        datasetMaster.setDate("field3", new Date(System.currentTimeMillis()));

        datasetDetail.moveFirst();
        while (!datasetDetail.isLast()) {
          if (datasetDetail.getRecordState() == Record.STATE_NEW) {
            datasetDetail.setLong("id", ++detailId);
          }
          datasetDetail.setDouble("field2", Math.random() * 10000);
          datasetDetail.moveNext();
        }

        datasetMaster.moveNext();
      }
      super.doUpdateData(parameters, outParameters);
    }
    finally {
      st.close();
    }
  }

}

⌨️ 快捷键说明

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