国产99久久精品_欧美日本韩国一区二区_激情小说综合网_欧美一级二级视频_午夜av电影_日本久久精品视频

最新文章專題視頻專題問答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 動態(tài)生成rdlc報表(原創(chuàng))

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

asp.net 動態(tài)生成rdlc報表(原創(chuàng))

asp.net 動態(tài)生成rdlc報表(原創(chuàng)): 代碼如下:string cCount = ; string dCount = ; string jCount = ; protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { string id = Request.QueryString[Order
推薦度:
導讀asp.net 動態(tài)生成rdlc報表(原創(chuàng)): 代碼如下: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 數(shù)據(jù)源名字必須和此報表原綁定的數(shù)據(jù)源名相同
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操作了 沒必要看我的 根據(jù)自己的需求而做
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);
}
//投產(chǎn)期
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 = "投產(chǎn)期";
xmlCellValueT.InnerText = "投產(chǎn)期";
for (int j = 0; j < int.Parse(dCount) - 1; j++)
{
xnRemove = xCells.ChildNodes.Item(3);
xCells.RemoveChild(xnRemove);
}
//生產(chǎn)期
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 = "生產(chǎn)期";
xmlCellValueC.InnerText = "生產(chǎn)期";
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你需要改的格式是哪個地方

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

文檔

asp.net 動態(tài)生成rdlc報表(原創(chuàng))

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

最新推薦

猜你喜歡

熱門推薦

專題
Top
主站蜘蛛池模板: 国产最新在线视频 | 足交在线观看 | 欧美二区在线观看 | 亚洲 欧美 手机 在线观看 | 国产资源在线看 | 久久久精品一区二区三区 | 欧美3p在线观看一区二区三区 | 欧美日韩成人高清色视频 | 久久免费国产精品一区二区 | 视频一区欧美 | 国产精品久久久久免费 | 亚洲另类网 | 日韩中文在线视频 | 就爱啪啪网站 | 亚洲视频第一页 | 久久久久国产精品 | 韩国精品在线 | 国产精品视频第一区二区三区 | 亚洲综合导航 | 久久免费国产精品一区二区 | 国产一区在线看 | 国产在线高清不卡免费播放 | 午夜香蕉视频 | 91午夜精品亚洲一区二区三区 | 国产成人99久久亚洲综合精品 | 黄色成人在线视频 | 久久亚洲一区二区 | 国产精品免费大片一区二区 | 国产精品视频第一页 | 91精品国产91久久久久福利 | 亚洲国产第一页 | 国产丝袜美女一区二区三区 | 国产91精品一区二区麻豆亚洲 | 免费看男女做好爽好硬视频 | 欧美亚洲一二三区 | 全网毛片免费 | 免费一级| 香蕉精品视频 | 亚洲伊人电影 | 久久久精品麻豆 | 日本a天堂|