最近公司用報表
          有個需求是做一個動態的表頭 有點難度了 搜了好久 在阿泰的文章里找到了答案
          如果實現這個動態列表呢
          水晶報表里有離散值設置     通過公式可以來解決這個問題 通過參數來解決表頭問題
            

            //使用報表對象加載報表
                      ReportDocument myReport = new ReportDocument();
                      string reportPath = Application.StartupPath + "/cp1.rpt";// Server.MapPath("~/app_data/crystalreport1.rpt");
                      myReport.Load(reportPath);

                      DataDefinition dataDefinition = myReport.DataDefinition;


             string[] Text4formularFields = new string[] { "{Employee.EmployeeID}", "{Employee.EmployeeName}", "{Employee.ProductName}" };
                      FormulaFieldDefinitions formularFields = dataDefinition.FormulaFields;
                      formularFields[0].Text = Text4formularFields[0];
                      formularFields[1].Text = Text4formularFields[1];
                      formularFields[2].Text = Text4formularFields[2];
          這地方可以搞個循環來解決
          以下是加參數 有點亂

           private ParameterFields GetParameterFields()
                  {
                      ParameterFields fields = new ParameterFields();

                      //單位、部門、人員、日期范圍參數
                      fields.Add(this.CreateParameterField("title", "單位"));
                      fields.Add(this.CreateParameterField("x1", "編號"));
                      fields.Add(this.CreateParameterField("x2", "員工名"));
                      fields.Add(this.CreateParameterField("x3", "產品名稱"));
                      //fields.Add(this.CreateParameterField("x2", "1"));
                      //fields.Add(this.CreateParameterField("x3", "0"));
                      //fields.Add(this.CreateParameterField("@empname", "人員"));
                      //fields.Add(this.CreateParameterField("@daterange", "日期"));

                      //返回
                      return fields;
                  }
                  private ParameterField CreateParameterField(string FieldName, object FieldValue)
                  {
                      ParameterField field = new ParameterField();
                      ParameterDiscreteValue pvalue = new ParameterDiscreteValue();

                     
                      pvalue.Value = FieldValue;
                      field.Name = FieldName;
                      field.CurrentValues.Add(pvalue);
                      field.AllowCustomValues = false;

                      //返回參數字段
                      return field;
                  }

          posted on 2011-08-31 14:57 sanmao 閱讀(485) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           

          常用鏈接

          留言簿(5)

          隨筆分類

          隨筆檔案

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 万山特区| 茌平县| 宕昌县| 英山县| 宣威市| 商南县| 娄烦县| 乐业县| 昂仁县| 革吉县| 栾城县| 柘荣县| 赫章县| 满城县| 松溪县| 赣榆县| 临海市| 泗阳县| 临泉县| 广平县| 甘南县| 嘉兴市| 肇源县| 塔城市| 名山县| 洛宁县| 温州市| 称多县| 濮阳市| 静乐县| 增城市| 通州市| 策勒县| 神农架林区| 平泉县| 辰溪县| 莎车县| 靖安县| 延津县| 榕江县| 玉屏|