最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時間:2011年12月23日 00:50:46   作者:  
因為公司需求 研究微軟的Reportviewer 因為有許多特別要求所以動態(tài)調(diào)用 比較靈活 我的需求是 根據(jù)數(shù)據(jù)不同的合并表頭 (參考了隨心所欲的博客文檔 再次表示感謝)
復(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你需要改的格式是哪個地方

相關(guān)文章

  • 解決DropDownList總是選中第一項的方法

    解決DropDownList總是選中第一項的方法

    這篇文章主要介紹了解決DropDownList總是選中第一項的方法,DropDownList下拉框服務(wù)器控件是最常用的控件之一,雖然使用方便,但也會出現(xiàn)奇怪的錯誤,感興趣的小伙伴們可以參考一下
    2015-10-10
  • .Net中生成二維的表格的代碼 分享

    .Net中生成二維的表格的代碼 分享

    找了很久才找到的在.NET中生成二維表格的代碼,不敢獨享,現(xiàn)在就貼出來給大家看看,相信對大家有所幫助。
    2013-07-07
  • asp.net中如何實現(xiàn)水印

    asp.net中如何實現(xiàn)水印

    水印的實現(xiàn)方法有很多,而且各種各樣,在本文將為大家介紹下在asp.net中時如何實現(xiàn)的,如果你不會可以參考下
    2013-09-09
  • ASP.NET中Onclick與OnClientClick遇到的問題

    ASP.NET中Onclick與OnClientClick遇到的問題

    本文主要介紹了ASP.NET中Onclick與OnClientClick遇到的問題,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2025-04-04
  • asp.net中的GridView分頁問題

    asp.net中的GridView分頁問題

    這篇文章主要介紹了asp.net中的GridView分頁問題,實例講述了采用GridView分頁出現(xiàn)的問題及對應(yīng)的解決方案,非常具有實用價值,需要的朋友可以參考下
    2014-11-11
  • ASP.NET MVC使用Ajax的輔助的解決方法

    ASP.NET MVC使用Ajax的輔助的解決方法

    我們將大致了解一下ASP.NET MVC如何使用Ajax的輔助方法
    2013-03-03
  • asp.net自定義控件中注冊Javascript問題解決方案

    asp.net自定義控件中注冊Javascript問題解決方案

    這篇文章主要介紹了asp.net自定義控件中注冊Javascript的問題,需要的朋友可以參考下
    2014-05-05
  • .Net學(xué)習(xí)筆記之Layui多圖片上傳功能

    .Net學(xué)習(xí)筆記之Layui多圖片上傳功能

    這篇文章主要給大家介紹了關(guān)于.Net學(xué)習(xí)筆記之Layui多圖片上傳功能的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用.Net具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07
  • asp.net下XML的加密和解密實現(xiàn)方法

    asp.net下XML的加密和解密實現(xiàn)方法

    xml加密(XML Encryption)是w3c加密xml的標(biāo)準(zhǔn)。這個加密過程包括加密xml文檔的元素及其子元素,通過加密,xml的初始內(nèi)容將被替換,但其xml格式仍然被完好的保留。
    2010-02-02
  • Asp.net Core與類庫讀取配置文件信息的方法

    Asp.net Core與類庫讀取配置文件信息的方法

    這篇文章主要給大家介紹了關(guān)于Asp.net Core與類庫讀取配置文件信息的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-12-12

最新評論

长治市| 建阳市| 烟台市| 如东县| 林口县| 中江县| 酉阳| 宾阳县| 景宁| 大连市| 云和县| 古丈县| 石嘴山市| 资源县| 买车| 隆化县| 嵊泗县| 宣城市| 贵溪市| 四子王旗| 尚志市| 诸暨市| 沾化县| 蓬溪县| 浏阳市| 宁明县| 东安县| 寻乌县| 巍山| 汶川县| 大渡口区| 呈贡县| 清新县| 衡南县| 兴城市| 东海县| 德令哈市| 沐川县| 锡林浩特市| 水富县| 开江县|