解惑

解己之惑,解人之惑

标签:列表

取得参数的缺省值列表

我们要求报表可以根据用户的选择来动态进行排序,但是每个报表所显示的列肯定不一样,所以每个报表在实现这个功能的时候,参数提示的时候必然要提供可选的值,到了Java里面,如何从Crystal Report Server上读取这些信息呢?
    public static ValueObjList getReportParameters(int reportID) throws Exception
    {
        String query = "Select SI_PROCESSINFO.SI_PROMPTS From CI_INFOOBJECTS Where si_progid = ‘crystalenterprise.report’ and SI_ID = "
                + reportID;
        IInfoObjects results = query(query);
        ValueObjList result = new ValueObjList();
        if (results == null)
        {
            return result;
        }
        IInfoObject report = (IInfoObject) results.get(0);
        List allParameters = ((IReport) report).getReportParameters();
        IReportParameter reportParameter = null;
        //Fix THRX2282, this maybe crystal report’s bug
        Set parameterNames = new HashSet();
        for (int j = 0; j < allParameters.size(); j++)
        {
            reportParameter = (IReportParameter) allParameters.get(j);
            if (!reportParameter.isInUse())
            {
                continue;
            }
            CrystalReportParamConfigValueObj paramvo = new CrystalReportParamConfigValueObj();
            String name = reportParameter.getParameterName();
            if (name.equals("sortcolumn"))
            {
                IReportParameterValues defaultValues = reportParameter.getDefaultValues();
                Values values = defaultValues.getValues(reportParameter.getValueType());
                for (int m = 0; m < values.size(); m++)
                {
                    ParameterFieldDiscreteValue value = (ParameterFieldDiscreteValue) values.get(m);
                    System.out.println(value.displayText(Locale.ENGLISH));
                }
            }
            if (parameterNames.contains(name))
            {
                continue;
            }
            else
            {
                parameterNames.add(name);
                paramvo.setAttribute(CrystalReportParamConfigAttributes.name, name);
                paramvo.setAttribute(CrystalReportParamConfigAttributes.type, new Integer(reportParameter
                        .getValueType()));
                result.add(paramvo);
            }
        }
        return result;

    }

注意蓝色的代码,特别是defaultValues.getValues(reportParameter.getValueType()),这样我们就可以从服务器上读取到报表随带的参数值列表。

公司需要使用到的全部技术列表

今天为公司写一个文档,其中就有需要使用到的全部技术,大致列了一下,虽然不是非常完整,但是应该包括了所有主要使用到的东西,其中前23项是我需要使用到的

  1. EJB
  2. JMS
  3. JDBC
  4. HTML
  5. JavaScript
  6. CSS
  7. JSP
  8. Java Mail
  9. AJAX
  10. XML
  11. XDoclet
  12. Struts
  13. Fusion chart
  14. JUnit
  15. MockEJB
  16. StrutsTest
  17. Cobertura
  18. Crystal Report
  19. Oracle
  20. CVS
  21. Remedy
  22. Peregrine
  23. Ant
  24. LDAP
  25. Ruby
  26. Shell
  27. C
  28. C++
  29. Make
  30. SNMP
  31. Install anywhere

© 2024 解惑

本主题由Anders Noren提供向上 ↑