<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當前位置: 首頁 - 科技 - 知識百科 - 正文

        asp.net 動態生成rdlc報表(原創)

        來源:懂視網 責編:小采 時間:2020-11-27 22:42:29
        文檔

        asp.net 動態生成rdlc報表(原創)

        asp.net 動態生成rdlc報表(原創): 代碼如下:string cCount = ; string dCount = ; string jCount = ; protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { string id = Request.QueryString[Order
        推薦度:
        導讀asp.net 動態生成rdlc報表(原創): 代碼如下:string cCount = ; string dCount = ; string jCount = ; protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { string id = Request.QueryString[Order

        代碼如下:

        string cCount = "";
        string dCount = "";
        string jCount = "";
        protected void Page_Load(object sender, EventArgs e)
        {
        if (!IsPostBack)
        {
        string id = Request.QueryString["OrderID"] == null ? "1" : Request.QueryString["OrderID"].ToString();
        SqlConnection con = new SqlConnection("server=CHENZQ;uid=sa;pwd=luca623;database=luca");
        SqlDataAdapter sda = new SqlDataAdapter("select * from view_Order where C_orderID='" + id + "'", con);
        DataSet ds = new DataSet();
        sda.Fill(ds);
        cCount = ds.Tables[0].Rows[0]["C_CTime"].ToString();
        dCount = ds.Tables[0].Rows[0]["C_TTime"].ToString();
        jCount = ds.Tables[0].Rows[0]["C_DTime"].ToString();
        //這段代碼是最重要
        ReportViewer1.Reset();
        this.ReportViewer1.LocalReport.LoadReportDefinition(GenerateRdlc());
        ReportViewer1.LocalReport.DataSources.Clear();
        //Orders_DataTable1 數據源名字必須和此報表原綁定的數據源名相同
        this.ReportViewer1.LocalReport.DataSources.Add(new ReportDataSource("Orders_DataTable1", ds.Tables[0]));
        this.ReportViewer1.LocalReport.Refresh();
        }
        }
        //這個方法就是自定義報表的樣式
        public MemoryStream GenerateRdlc()
        {
        XmlDocument sourceDoc = new XmlDocument();
        string path = AppDomain.CurrentDomain.BaseDirectory + "Orders.rdlc";
        //c_CTime = ds.Tables[0].Rows[0]["C_CTime"].ToString();
        sourceDoc.Load(path);
        //下面就是xml操作了 沒必要看我的 根據自己的需求而做
        XmlNode xHeader = sourceDoc.ChildNodes.Item(1).ChildNodes.Item(13).ChildNodes.Item(1).ChildNodes.Item(0).ChildNodes.Item(4);
        XmlNode xCells = xHeader.ChildNodes.Item(0).ChildNodes.Item(0).ChildNodes.Item(0);
        //建設期
        XmlNode xmlCell = xCells.ChildNodes.Item(1);
        XmlElement xeCol = sourceDoc.CreateElement("ColSpan");
        xeCol.InnerText = cCount;
        xeCol.InnerXml = cCount;
        xmlCell.InnerXml += xeCol.OuterXml;
        XmlNode xmlCellValue = xmlCell.ChildNodes.Item(0).ChildNodes.Item(0).ChildNodes.Item(4);
        xmlCellValue.InnerXml = "建設期";
        xmlCellValue.InnerText = "建設期";
        XmlNode xnRemove;
        for (int i = 0; i <int.Parse(cCount) - 1; i++)
        {
        xnRemove = xCells.ChildNodes.Item(2);
        xCells.RemoveChild(xnRemove);
        }
        //投產期
        XmlNode xmlCellT = xCells.ChildNodes.Item(2);
        XmlElement xeColT = sourceDoc.CreateElement("ColSpan");
        xeColT.InnerText = dCount;
        xeColT.InnerXml = dCount;
        xmlCellT.InnerXml += xeColT.OuterXml;
        XmlNode xmlCellValueT = xmlCellT.ChildNodes.Item(0).ChildNodes.Item(0).ChildNodes.Item(4);
        xmlCellValueT.InnerXml = "投產期";
        xmlCellValueT.InnerText = "投產期";
        for (int j = 0; j < int.Parse(dCount) - 1; j++)
        {
        xnRemove = xCells.ChildNodes.Item(3);
        xCells.RemoveChild(xnRemove);
        }
        //生產期
        XmlNode xmlCellC = xCells.ChildNodes.Item(3);
        XmlElement xeColC = sourceDoc.CreateElement("ColSpan");
        xeColC.InnerText = jCount.ToString();
        xeColC.InnerXml = jCount.ToString();
        xmlCellC.InnerXml += xeColC.OuterXml;
        XmlNode xmlCellValueC = xmlCellC.ChildNodes.Item(0).ChildNodes.Item(0).ChildNodes.Item(4);
        xmlCellValueC.InnerXml = "生產期";
        xmlCellValueC.InnerText = "生產期";
        for (int j = 0; j < int.Parse(jCount) - 1; j++)
        {
        xnRemove = xCells.ChildNodes.Item(4);
        xCells.RemoveChild(xnRemove);
        }
        MemoryStream ms = new MemoryStream();
        XmlSerializer serializer = new XmlSerializer(typeof(XmlDocument));
        serializer.Serialize(ms, sourceDoc);
        ms.Position = 0;
        return ms;
        }

        技巧 可以先在報表里自己設計好需要的格式 用
        XmlDocument sourceDoc = new XmlDocument();
        string path = AppDomain.CurrentDomain.BaseDirectory + "Orders.rdlc";
        然后用sourceDoc .save()保存生成xml
        可以看到此xml你需要改的格式是哪個地方

        聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        asp.net 動態生成rdlc報表(原創)

        asp.net 動態生成rdlc報表(原創): 代碼如下:string cCount = ; string dCount = ; string jCount = ; protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { string id = Request.QueryString[Order
        推薦度:
        標簽: 生成 動態 net
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 成人亚洲综合天堂| 免费无码又爽又高潮视频| 伊人久久精品亚洲午夜| 四虎精品成人免费视频| 免费又黄又爽又猛的毛片| 污视频网站免费观看| 亚洲国产精品人人做人人爽| 免费看内射乌克兰女| 亚洲裸男gv网站| 精品成人免费自拍视频| 久久久亚洲欧洲日产国码是AV| h视频在线免费看| 一本色道久久综合亚洲精品蜜桃冫| 18禁成年无码免费网站无遮挡| 亚洲中文无码亚洲人成影院| 免费欧洲毛片A级视频无风险| 一级做a爰黑人又硬又粗免费看51社区国产精品视 | 久久精品无码专区免费青青| 亚洲精品不卡视频| 成人免费无毒在线观看网站| 免费一级毛suv好看的国产网站 | 亚洲?v女人的天堂在线观看| 中文字幕免费在线看| 亚洲人成电影亚洲人成9999网 | 一区二区免费电影| 亚洲精选在线观看| 成人午夜视频免费| 成年网站免费入口在线观看| 亚洲国产综合91精品麻豆| 久久WWW免费人成人片| 一本一道dvd在线观看免费视频| 亚洲天堂视频在线观看| 麻豆国产VA免费精品高清在线 | 亚洲av色福利天堂| 成人午夜性A级毛片免费| 久久久久久噜噜精品免费直播| 91天堂素人精品系列全集亚洲| 国产乱色精品成人免费视频 | 亚洲欧洲日本精品| 免费A级毛片无码A∨男男| 91禁漫免费进入|