public void actionPerformed(ActionEvent arg0) { DefaultMutableTreeNode curTreeNode = (DefaultMutableTreeNode) treWhere.getLastSelectedPathComponent(); if (curTreeNode == null || !curTreeNode.isLeaf()) return; Caliber cal = (Caliber) curTreeNode.getUserObject(); IStatisticCaliber myCaliber = cal.getACal(); if (!(myCaliber instanceof ICustomStatisticCaliber)) { ICustomStatisticCaliber caliberTmp = new MySummaryStatisticCaliberImpl(); caliberTmp.setAddSQL(myCaliber.getAddSQL()); caliberTmp.setCompareType(myCaliber.getCompareType()); caliberTmp.setJoinBefore(myCaliber.getJoinBefore()); caliberTmp.setSourceColID(myCaliber.getSourceColID()); caliberTmp.setSourceID(myCaliber.getSourceID()); caliberTmp.setValue(myCaliber.getValue()); caliberTmp.setCaliberID(DefinePub.getRandomUUID()); cal.setACal(caliberTmp); } myCaliber = cal.getACal(); if (((ICustomStatisticCaliber) myCaliber).getRParenthesis() != null) { ((ICustomStatisticCaliber) myCaliber) .setRParenthesis(((ICustomStatisticCaliber) cal.getACal()).getRParenthesis() + ")"); } else { ((ICustomStatisticCaliber) myCaliber).setRParenthesis(")"); } curTreeNode.setUserObject(cal); // 刷新节点中文名称 refreshNodeChName(curTreeNode); // 刷新节点 ((DefaultTreeModel) treWhere.getModel()).nodeChanged(curTreeNode); }
public void actionPerformed(ActionEvent arg0) { DefaultMutableTreeNode curTreeNode = (DefaultMutableTreeNode) treWhere.getLastSelectedPathComponent(); if (curTreeNode == null || !curTreeNode.isLeaf()) return; // 检查信息是否填写完整 if (!checkInputInfo()) return; String objDs = (String) dataSourceCbx.getValue(); String objField = (String) cbxFieldName.getValue(); String objValue = (String) cbxWhereValue.getValue(); String objCompare = (String) cbxCompare.getValue(); String[] arrField = objField.split(":"); String fieldType = arrField[1]; fieldType = DefinePub.getFieldTypeWithCh(fieldType); if (DefinePub.checkCharVal(fieldType)) { objValue = "'" + objValue + "'"; } else { // 检查一下是不是数字 try { Double.parseDouble(objValue); } catch (Exception e) { new MessageBox(calcColumnDialog, "值不是合法的数字!", MessageBox.MESSAGE, MessageBox.BUTTON_OK) .show(); return; } } DefaultMutableTreeNode defaultMutableTreeNode = (DefaultMutableTreeNode) treWhere.getLastSelectedPathComponent(); if (defaultMutableTreeNode == null) return; IStatisticCaliber asCal = ((Caliber) defaultMutableTreeNode.getUserObject()).getACal(); asCal.setSourceID(objDs.toString()); asCal.setSourceColID(arrField[0]); asCal.setCompareType(objCompare.toString()); asCal.setValue(objValue.toString()); asCal.setJoinBefore(frdoType.getValue().toString()); defaultMutableTreeNode.setUserObject(new Caliber(asCal)); // 刷新节点中文名称 refreshNodeChName(defaultMutableTreeNode); // 刷新节点 ((DefaultTreeModel) treWhere.getModel()).nodeChanged(defaultMutableTreeNode); }
/** * 根据sFieldEname返回字段类型 * * @return */ private String getFieldType() { if (cbxFieldName.getSelectedIndex() == -1) return null; String objField = (String) cbxFieldName.getValue(); String[] arrField = objField.split(":"); String fieldType = arrField[1]; return DefinePub.getFieldTypeWithCh(fieldType); }
public void actionPerformed(ActionEvent arg0) { // 检查信息是否填写完整 if (!checkInputInfo()) return; String objDs = (String) dataSourceCbx.getValue(); String objField = (String) cbxFieldName.getValue(); String objValue = (String) cbxWhereValue.getValue(); String objCompare = (String) cbxCompare.getValue(); String[] arrField = objField.split(":"); String fieldType = arrField[1]; fieldType = DefinePub.getFieldTypeWithCh(fieldType); if (DefinePub.checkCharVal(fieldType)) { objValue = "'" + objValue + "'"; // 判断是不是in或not in比较符 if (CompareType.IN_TYPE.equalsIgnoreCase(objCompare) || CompareType.NOTIN_TYPE.equalsIgnoreCase(objCompare)) { objValue = objValue.replaceAll(",", "','"); objValue = "(" + objValue + ")"; } } else { // 检查一下是不是数字 try { Double.parseDouble(objValue); } catch (Exception e) { new MessageBox(calcColumnDialog, "值不是合法的数字!", MessageBox.MESSAGE, MessageBox.BUTTON_OK) .show(); return; } } IStatisticCaliber asCal = new SummaryStatisticCaliberImpl(); asCal.setSourceID(objDs.toString()); asCal.setSourceColID(arrField[0]); asCal.setCompareType(objCompare.toString()); asCal.setValue(objValue.toString()); asCal.setJoinBefore(frdoType.getValue().toString()); asCal.setCaliberID(DefinePub.getRandomUUID()); TreeNode node = addParaTreNode(asCal); // 刷新节点中文名称 refreshNodeChName(node); // 定位到新增加的节点 treWhere.expendTo(node); }
public void valueChanged(TreeSelectionEvent arg0) { DefaultMutableTreeNode curTreeNode = (DefaultMutableTreeNode) ((MyTree) arg0.getSource()).getLastSelectedPathComponent(); if (curTreeNode == null) return; if (!(curTreeNode.getUserObject() instanceof Caliber)) { return; } Caliber cal = (Caliber) curTreeNode.getUserObject(); // 数据源组合框 dataSourceCbx.setValue(cal.getACal().getSourceID()); // 根据字段列名得到字段类型 // cbxFieldName.setSelectedIndex(-1); JComboBox cbxFieldNameTmp = (JComboBox) cbxFieldName.getEditor(); int count = cbxFieldNameTmp.getItemCount(); String value; for (int i = 0; i < count; i++) { value = ((FComboBoxItem) cbxFieldNameTmp.getItemAt(i)).getValue().toString(); if (value.substring(0, value.indexOf(":")).equals(cal.getACal().getSourceColID())) { cbxFieldName.setSelectedIndex(i); break; } } // 字段名称组合框 // cbxFieldName.setValue(cal.getACal().getSourceColID()); // 比较类型 cbxCompare.setValue(cal.getACal().getCompareType()); // 根据sFieldEname返回字段类型 String sFieldTyp = getFieldType(); // 根据字段类型判断参数加不加引号(') // 条件值 if (DefinePub.checkCharVal(sFieldTyp)) { String paraValue = cal.getACal().getValue(); // 判断是不是in或not in比较符 if (CompareType.IN_TYPE.equalsIgnoreCase(cal.getACal().getCompareType()) || CompareType.NOTIN_TYPE.equalsIgnoreCase(cal.getACal().getCompareType())) { // 去掉左右括号 paraValue = paraValue.substring(1, paraValue.length() - 1); // 去掉逗号旁的引号 paraValue = paraValue.replaceAll("','", ","); } // 去掉最外层引号 cbxWhereValue.setValue(paraValue.substring(1, paraValue.length() - 1)); } else { cbxWhereValue.setValue(cal.getACal().getValue()); } // 定义条件类型 if (!Common.isNullStr(cal.getACal().getJoinBefore())) frdoType.setValue(cal.getACal().getJoinBefore()); }
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(); }