Esempio n. 1
0
 public void refreshData() {
   // 初始化内容
   MyCalculateValueImpl curCell = calcColumnDialog.getCurCell();
   if (curCell == null) return;
   IStatisticCaliber[] stacist = curCell.getStatisticCaliberArray();
   if (stacist != null) {
     for (int i = 0; i < stacist.length; i++) {
       if (DefinePub.isPACaliber(stacist[i])) {
         if (isPriserve == null) isPriserve = new ArrayList();
         isPriserve.add(stacist[i]);
         txtSql.setValue(txtSql.getValue() + stacist[i].toString());
         continue;
       }
       addParaTreNode(stacist[i]);
     }
   }
   // 节点展开
   treWhere.expandTree();
 }
Esempio n. 2
0
  public ColWhereSetPnl(final CalcColumnDialog calcColumnDialog) {
    this.calcColumnDialog = calcColumnDialog;

    // 数据源组合框
    dataSourceCbx = new MyFComboBox("数据源:", calcColumnDialog.getQuerySource());
    ((JComboBox) dataSourceCbx.getComponent(1)).addItemListener(new SelectItemListener());

    // 字段名
    FLabel fieldNameLbl = new FLabel();
    fieldNameLbl.setTitle("字段名:");
    // 升降序选择
    FLabel operateLbl = new FLabel();
    operateLbl.setText("操作:");
    // 条件值
    FLabel whereValueLbl = new FLabel();
    whereValueLbl.setText("值:");

    // 字段名称组合框
    cbxFieldName = new FComboBox();
    cbxFieldName.setTitleVisible(false);
    ((JComboBox) cbxFieldName.getComponent(1))
        .addItemListener(
            new ItemListener() {

              public void itemStateChanged(ItemEvent arg0) {
                if (cbxFieldName.getValue() == null) {
                  return;
                }

                String sFieldTyp = getFieldType();
                // 判断字段类型,如果是数值型包含和不包含不显示
                if (DefinePub.checkCharVal(sFieldTyp)) {
                  cbxCompare.setRefModel(CompareType.COMPARE_TYPE);
                } else {
                  cbxCompare.setRefModel(CompareType.COMPARE_TYPE_NUM);
                }
                cbxCompare.setSelectedIndex(-1);
                // 得到基础信息选择列的值,根据报表id和ename值
                if (!Common.isNullStr(dataSourceCbx.getValue().toString())
                    && !Common.isNullStr(cbxFieldName.getValue().toString())) {
                  String sFeildEname = cbxFieldName.getValue().toString();
                  sFeildEname = sFeildEname.substring(0, sFeildEname.indexOf(":"));

                  List lstInputValue = null;
                  try {
                    lstInputValue =
                        DefineReportI.getMethod()
                            .getBasSelectInputValue(
                                dataSourceCbx.getValue().toString(), sFeildEname);
                  } catch (Exception e) {
                    e.printStackTrace();
                    new MessageBox(
                            calcColumnDialog,
                            "错误信息:" + e.getMessage(),
                            MessageBox.ERROR,
                            MessageBox.BUTTON_OK)
                        .show();
                  }
                  cbxWhereValue.setEditable(true);
                  addRefValue(cbxWhereValue, lstInputValue, IDefineReport.CODE, IDefineReport.NAME);
                  cbxWhereValue.setSelectedIndex(-1);
                } else {
                  cbxWhereValue.removeAllItems();
                }
              }
            });

    // 比较类型
    cbxCompare = new FComboBox();
    cbxCompare.setTitleVisible(false);
    cbxCompare.setRefModel(CompareType.COMPARE_TYPE);
    cbxCompare.setSelectedIndex(-1);

    // 条件值
    // txtWhereValue = new FTextField(false);
    cbxWhereValue = new FComboBox();
    ((JComboBox) cbxWhereValue.getEditor()).setEditable(true);
    cbxWhereValue.setTitleVisible(false);

    // 定义条件面板
    FPanel orderPnl = new FPanel();
    orderPnl.setLayout(new RowPreferedLayout(5));

    FLabel flblEmpty = new FLabel();
    // 数据来源
    orderPnl.addControl(dataSourceCbx, new TableConstraints(1, 2, false, true));
    orderPnl.addControl(flblEmpty, new TableConstraints(1, 3, false, true));
    // Label
    orderPnl.addControl(fieldNameLbl, new TableConstraints(1, 2, false, true));
    orderPnl.addControl(operateLbl, new TableConstraints(1, 1, false, true));
    orderPnl.addControl(whereValueLbl, new TableConstraints(1, 2, false, true));
    // 编码框
    orderPnl.addControl(cbxFieldName, new TableConstraints(1, 2, false, true));
    orderPnl.addControl(cbxCompare, new TableConstraints(1, 1, false, true));
    orderPnl.add(cbxWhereValue, new TableConstraints(1, 2, false, true));

    // 定义条件类型
    frdoType = new FRadioGroup("", FRadioGroup.HORIZON);
    frdoType.setRefModel(JoinBefore.JOIN_BEFORE);
    frdoType.setTitleVisible(false);
    frdoType.setValue("and");

    // 增加、修改按钮
    FButton addBtn = new FButton("addBtn", "增加");
    addBtn.addActionListener(new AddActionListener());

    FButton modifyBtn = new FButton("addBtn", "修改");
    modifyBtn.addActionListener(new ModifyActionListener());
    // FFlowLayoutPanel editBtnPnl = new FFlowLayoutPanel();
    FPanel editBtnPnl = new FPanel();
    RowPreferedLayout rEditBtnLay = new RowPreferedLayout(2);
    rEditBtnLay.setColumnGap(1);
    rEditBtnLay.setColumnWidth(70);
    editBtnPnl.setLayout(rEditBtnLay);
    // editBtnPnl.setAlignment(FlowLayout.RIGHT);
    editBtnPnl.addControl(addBtn, new TableConstraints(1, 1, false, false));
    editBtnPnl.addControl(modifyBtn, new TableConstraints(1, 1, false, false));

    FLabel flbEmpty = new FLabel();
    FPanel fpnlEdit = new FPanel();
    RowPreferedLayout rEditLay = new RowPreferedLayout(4);
    rEditLay.setColumnWidth(140);
    fpnlEdit.setLayout(rEditLay);

    fpnlEdit.addControl(flbEmpty, new TableConstraints(1, 1, true, true));
    fpnlEdit.addControl(frdoType, new TableConstraints(1, 2, true, true));
    fpnlEdit.addControl(editBtnPnl, new TableConstraints(1, 1, true, false));

    // 定义条件树
    DefaultMutableTreeNode root = new DefaultMutableTreeNode("过滤条件");
    DefaultTreeModel treeModel = new DefaultTreeModel(root);
    treWhere = new MyTree(treeModel);
    // 变换树节点,刷新显示框信息事件
    treWhere.addTreeSelectionListener(new WhereTreeSelectionListener());
    JScrollPane fpnltalRela = new JScrollPane(treWhere);

    // 过滤条件按钮面板
    FPanel btnPnl = new BtnPnl();

    JTabbedPane pnlWhere = new JTabbedPane();
    RowPreferedLayout rLay = new RowPreferedLayout(2);
    FPanel pnlCol = new FPanel();
    pnlCol.setLayout(rLay);
    rLay.setColumnWidth(70);
    rLay.setColumnGap(1);

    pnlCol.addControl(orderPnl, new TableConstraints(3, 2, false, true));
    pnlCol.addControl(fpnlEdit, new TableConstraints(1, 2, false, true));
    pnlCol.add(fpnltalRela, new TableConstraints(1, 1, true, true));
    pnlCol.addControl(btnPnl, new TableConstraints(1, 1, true, false));

    txtSql = new FTextArea();
    txtSql.setTitleVisible(false);
    txtSql.setEditable(false);

    FScrollPane spnlSql = new FScrollPane(txtSql);

    pnlWhere.add("列条件信息", pnlCol);
    pnlWhere.add("分栏设置条件", spnlSql);
    this.setLayout(new BorderLayout());
    this.add(pnlWhere, BorderLayout.CENTER);
  }