<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    public MemoryStream GenerateRdlc()
    {
     XmlDocument sourceDoc = new XmlDocument();
     string path = AppDomain.CurrentDomain.BaseDirectory + "Test/OrderList.rdlc";
     sourceDoc.Load(path);
     Hashtable reportColumns = GetReportColumns(sourceDoc.LastChild);
     //just remove
     for (int i = 0; i < reportColumns.Count; i++)
     {
      if (!FindReportCoulmns(reportColumns[i].ToString()))
      {
       RemoveColumnFromRdlc(sourceDoc.LastChild, i);
      }
     }

     MemoryStream ms = new MemoryStream();
     XmlSerializer serializer = new XmlSerializer(typeof(XmlDocument));
     serializer.Serialize(ms, sourceDoc);
     ms.Position = 0;
     return ms;
    }
      至于如何GetReportColumns和RemoveColumnFromRdlc,那就很簡單了,就是一個操作xml對象的過程。比方說:
    private Hashtable GetReportColumns(XmlNode root)
    {
     Hashtable cols = new Hashtable();
     //XmlNamespaceManager s=new XmlNamespaceManager(
      XmlNode cells = FindChildNode(root,"Body/ReportItems/Table/Header/TableRows/TableRow/TableCells");
     for (int i = 0; i < cells.ChildNodes.Count; i++)
     {
      XmlNode cell =FindChildNode( cells.ChildNodes[i],"ReportItems/Textbox/DataElementName");
      cols[i] = cell.InnerText;
     }
     return cols;
    }
      這是使用這一段的代碼:
    this.ReportViewer1.LocalReport.LoadReportDefinition(this.Report.GenerateRdlc());
    this.ReportViewer1.LocalReport.DataSources.Add(new ReportDataSource("DataSet1", result.Tables[0]));
    this.ReportViewer1.LocalReport.Refresh();
      這個方法終于成功了。

      附:rdlc文件的xml一段結構

      xml結構
    1<?xml version="1.0" encoding="utf-8"?>
    2<Report xmlns="http://schemas.microsoft.com/sqlserver/reporting/2005/01/reportdefinition" xmlns:rd="http://schemas.microsoft.com/SQLServer/reporting/reportdesigner">
    3 <DataSources>
    4 <DataSource Name="ConnectionString">
    5 <ConnectionProperties>
    6 <ConnectString />
    7 <DataProvider>SQL</DataProvider>
    8 </ConnectionProperties>
    9 <rd:DataSourceID>073016a7-6cb0-4e06-a6fd-f5882a039188</rd:DataSourceID>
    10 </DataSource>
    11 </DataSources>
    12 <BottomMargin>2.5cm</BottomMargin>
    13 <RightMargin>2.5cm</RightMargin>
    14 <PageWidth>21cm</PageWidth>
    15 <rd:DrawGrid>true</rd:DrawGrid>
    16 <InteractiveWidth>21cm</InteractiveWidth>
    17 <rd:GridSpacing>0.25cm</rd:GridSpacing>
    18 <rd:SnapToGrid>true</rd:SnapToGrid>
    19 <Body>
    20 <ColumnSpacing>1cm</ColumnSpacing>
    21 <ReportItems>
    22 <Chart Name="chart1">

    文章來源:http://www.cnblogs.com/wangdetian168/archive/2008/09/03/1283351.html
    posted on 2010-09-29 13:28 sanmao 閱讀(330) 評論(0)  編輯  收藏

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     

    常用鏈接

    留言簿(5)

    隨筆分類

    隨筆檔案

    搜索

    •  

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 美女的胸又黄又www网站免费| 久久久无码精品亚洲日韩蜜臀浪潮| 亚洲色偷偷色噜噜狠狠99网| 18禁美女黄网站色大片免费观看| 亚洲精品无码久久久影院相关影片| 人成电影网在线观看免费| 亚洲美日韩Av中文字幕无码久久久妻妇| 亚洲AV无码成人精品区日韩| 在线播放免费人成视频在线观看| 中国亚洲呦女专区| 国产成人无码免费视频97| 美女羞羞视频免费网站| a级亚洲片精品久久久久久久| 国产一级婬片A视频免费观看| 亚洲成AV人片一区二区密柚| 久久久久久国产精品免费免费男同 | 亚洲av之男人的天堂网站| 中文字幕乱码一区二区免费| 亚洲国产精品嫩草影院在线观看| 日韩免费的视频在线观看香蕉| 久久久久亚洲AV片无码下载蜜桃| 国产精品免费观看| 在线亚洲高清揄拍自拍一品区| 野花高清在线观看免费完整版中文| 亚洲免费福利在线视频| 国产精品成人四虎免费视频| 日韩在线视频播放免费视频完整版| 亚洲国产精品无码久久青草| 久久国产乱子伦精品免费午夜 | 免费看香港一级毛片| 处破女第一次亚洲18分钟| 亚洲成人国产精品| 成人精品一区二区三区不卡免费看| 亚洲视频在线免费看| 夜夜嘿视频免费看| 一个人看的www视频免费在线观看| 亚洲人成人一区二区三区| 日本高清在线免费| 一本久久免费视频| 亚洲婷婷天堂在线综合| 亚洲AⅤ永久无码精品AA|