主頁 > 知識庫 > asp.net 動態(tài)生成rdlc報表(原創(chuàng))

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

熱門標(biāo)簽:云南外呼電銷機(jī)器人系統(tǒng) 浙江外呼系統(tǒng)怎么安裝 海外地圖標(biāo)注門市標(biāo) 山西防封卡電銷卡套餐 銅川小型外呼系統(tǒng)運(yùn)營商 上海楊浦怎么申請申請400電話 廈門商鋪地圖標(biāo)注 地圖標(biāo)注多個行程 陜西人工外呼系統(tǒng)哪家好
復(fù)制代碼 代碼如下:

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);
//建設(shè)期
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 = "建設(shè)期";
xmlCellValue.InnerText = "建設(shè)期";
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;
}

技巧 可以先在報表里自己設(shè)計好需要的格式 用
XmlDocument sourceDoc = new XmlDocument();
string path = AppDomain.CurrentDomain.BaseDirectory + "Orders.rdlc";
然后用sourceDoc .save()保存生成xml
可以看到此xml你需要改的格式是哪個地方
您可能感興趣的文章:
  • C#實(shí)現(xiàn)微信公眾號群發(fā)消息(解決一天只能發(fā)一次的限制)實(shí)例分享
  • C#微信公眾號開發(fā)之接收事件推送與消息排重的方法
  • .NET微信公眾號開發(fā)之準(zhǔn)備工作
  • .NET微信公眾號開發(fā)之公眾號消息處理
  • 圖文介紹報表與企業(yè)微信公眾號集成方案

標(biāo)簽:許昌 信陽 孝感 西雙版納 朔州 萊蕪 常州 自貢

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《asp.net 動態(tài)生成rdlc報表(原創(chuàng))》,本文關(guān)鍵詞  asp.net,動態(tài),生成,rdlc,報表,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《asp.net 動態(tài)生成rdlc報表(原創(chuàng))》相關(guān)的同類信息!
  • 本頁收集關(guān)于asp.net 動態(tài)生成rdlc報表(原創(chuàng))的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章