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

            //使用報表對象加載報表
                      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)

          隨筆分類

          隨筆檔案

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 五台县| 望都县| 开平市| 湘西| 娄烦县| 澄城县| 江陵县| 阿拉善盟| 鱼台县| 海兴县| 额尔古纳市| 绵竹市| 平谷区| 徐州市| 防城港市| 琼结县| 苗栗市| 定南县| 尚志市| 夏邑县| 上蔡县| 青神县| 印江| 双柏县| 阳新县| 长宁区| 扎赉特旗| 阿尔山市| 青龙| 拉萨市| 莱州市| 玛纳斯县| 揭阳市| 顺义区| 徐闻县| 顺平县| 浦北县| 宜章县| 南投市| 萝北县| 肥城市|