日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

ActiveReports 報表控件官方中文入門教程 (3)-

系統(tǒng) 2434 0
原文: ActiveReports 報表控件官方中文入門教程 (3)-如何選擇頁面報表和區(qū)域報表

本篇文章將介紹區(qū)域報表和頁面報表的常見使用場景、區(qū)別和選擇報表類型的一些建議,兩種報表的模板設(shè)計、數(shù)據(jù)源(設(shè)計時和運行時)設(shè)置、和瀏覽報表的區(qū)別。

ActiveReports 報表控件官方中文入門教程 (1)-安裝、激活以及產(chǎn)品資源

ActiveReports 報表控件官方中文入門教程 (2)-創(chuàng)建、數(shù)據(jù)源、瀏覽以及發(fā)布

本篇文章包括以下部分:

1.區(qū)域報表和頁面報表的區(qū)別

  • 兩種報表的具體應(yīng)用場景
  • 區(qū)域報表和頁面報表的區(qū)別
  • 項目中如何選擇報表類型
    2.區(qū)域報表和頁面報表數(shù)據(jù)源設(shè)置
  • 運行時
  • 設(shè)計時
    3.報表瀏覽器加載報表的區(qū)別
1.區(qū)域報表和頁面報表的區(qū)別
1.1首先我們來看一下兩種報表的具體應(yīng)用場景
  • 固定頁面布局報表:ActiveReports 中首創(chuàng)的一種 .NET報表模型,運行時的報表頁面與設(shè)計時完全保持一致,各控件的位置和大小都不會改變,非常適合創(chuàng)建傳統(tǒng)的紙質(zhì)報表格式,如用于設(shè)計財務(wù)單據(jù)、銀行帳票等格式要求嚴格的報表。
  • 連續(xù)頁面布局報表:主要通過數(shù)據(jù)區(qū)域來控制報表的布局,能自動實現(xiàn)數(shù)據(jù)分頁顯示,并提供最強大的報表交互能力,可輕松實現(xiàn)各種交互式報表。報表頁面的控件可以擴大或縮小;通過參數(shù)報表實現(xiàn)數(shù)據(jù)過濾;支持設(shè)置交互式排序;您可以設(shè)置鉆取報表,在初始狀態(tài)下隱藏細節(jié),點擊按鈕后打開;您也可以添加指向其它報表的鉆取鏈接,以及指向報表內(nèi)其它區(qū)域的書簽鏈接等。
  • 區(qū)域布局報表:ActiveReports產(chǎn)品的典型報表模型,區(qū)域布局中報表被分為不同的區(qū)域。缺省情況下的區(qū)域布局報表包含頁眉,明細和頁腳區(qū)域,可以進一步插入報表頭/報表尾和分組頭/分組尾區(qū)域。這種布局方式也在Access和水晶報表中得到廣泛使用。您可以運用已經(jīng)掌握的C#和VB.NET知識,并結(jié)合區(qū)域布局報表模型提供的豐富API實現(xiàn)子報表、交叉報表、分組報表、分欄報表、主從報表等多種多樣的報表系統(tǒng)。
  • 1.2區(qū)域報表和頁面報表的區(qū)別

    區(qū)域報表和頁面報表最主要的區(qū)別是組成結(jié)構(gòu),區(qū)域報表顧名思義是有多個區(qū)域組成,區(qū)域報表最終由多個區(qū)域組合呈現(xiàn),包括表頭、詳細區(qū)域和表尾組成。

    頁面報表最終呈現(xiàn)布局中只有一個單位就是-頁面,頁面報表最終呈現(xiàn)效果是由多個頁面組合,進一步說,連續(xù)頁面布局最終頁數(shù)取決于需要展示的數(shù)據(jù)量。固定頁面報表主要強調(diào)的是預(yù)覽效果和打印效果完全一致。非常適合創(chuàng)建傳統(tǒng)的紙質(zhì)報表格式,如用于設(shè)計財務(wù)單據(jù)、銀行帳票等格式要求嚴格的報表。

    1.3項目中如何選擇報表類型

    關(guān)于在實際項目中如何選擇報表,往往是主觀因素影響大一些,每個開發(fā)人員關(guān)注的角度不同會影響選擇結(jié)果不同。例如,有些程序員會更加傾向把報表分割成規(guī)整的頁眉、數(shù)據(jù)區(qū)域和頁腳三個部分,這樣他就會認為區(qū)域報表比較適應(yīng)項目需求而選擇區(qū)域報表。還有其他程序員需要使所有報表頁面基于一張報表模板,這個時候他們就會選擇連續(xù)頁面報表。再舉個例子,如果需要使用多個數(shù)據(jù)源,連續(xù)頁面報表也是很好的選擇。

    如果報表中需要交互式報表分析(向下和貫穿鉆取、動態(tài)的數(shù)據(jù)排序),另外迷你圖、數(shù)據(jù)條、地圖控件、多數(shù)據(jù)源等需求也需要使用頁面報表實現(xiàn)。

    當然,ActiveReports 提供產(chǎn)品文檔、隨機安裝示例和在線示例等多方面資源來為您選擇報表類型提供大量的指導(dǎo),協(xié)助您選擇正確的報表模板,節(jié)省開發(fā)時間。

    2.區(qū)域報表和頁面報表數(shù)據(jù)源設(shè)置
    2.1頁面報表設(shè)計時設(shè)計數(shù)據(jù)源步驟如下:
    • 第一步: 在工程中創(chuàng)建一個名為 PageReport_DataSource_DesignTime.rdlx 的頁面報表

    image

    第二步: 創(chuàng)建完成之后,會自動打開報表設(shè)計界面,此時我們看到的是一個固定頁面報表(FPL),通過Visual Studio菜單欄中的“ 報表 ”->“ 轉(zhuǎn)換為連續(xù)頁面布局(CPL)報表 ”將報表轉(zhuǎn)換為CPL報表。

    從Visual Studio菜單欄中的“ 視圖 ”->“ 其他窗口 ”->“ 報表資源管理器 V8 ”中打開ActiveReports報表資源管理器,此時,你可以看到“ 數(shù)據(jù)源 ”節(jié)點,在該節(jié)點上鼠標右鍵選擇“ 添加數(shù)據(jù)源 ”菜單項,在彈出的“ 報表數(shù)據(jù)源 ”對話框中按照向?qū)Р襟E連接到一個Access數(shù)據(jù)庫,如下圖:

    image

    點擊“ 確定 ”按鈕,完成數(shù)據(jù)源創(chuàng)建操作,此時,在報表資源管理器窗口中的“ 數(shù)據(jù)源 ”節(jié)點下新增了一個名為“ DataSource1 ”的子節(jié)點,在該節(jié)點上點擊鼠標右鍵,選擇“ 添加數(shù)據(jù)集 ”菜單項,在彈出對話框的“ 查詢 ”選項卡中寫入以下SQL查詢語句 [Select * from 產(chǎn)品],然后點擊“ 確定 ”按鈕完成數(shù)據(jù)集創(chuàng)建操作。返回到報表資源管理窗口之后,點擊“ DataSet1 ”節(jié)點,可以看到SQL查詢語句返回查詢結(jié)果的全部數(shù)據(jù)字段。

    image

    第三步: 在Visual Studio工具箱中的“ ActiveReports 8 頁面布局報表 ”分類下將表格控件(Table)拖拽到報表設(shè)計界面,然后點擊表格 明細行 中的單元格,此時,會自動顯示DataSet1中數(shù)據(jù)集中的全部字段,然后,為每個單元格指定需要綁定的字段。

    image

    更多 設(shè)計時設(shè)置報表數(shù)據(jù)源內(nèi)容請參考:

    http://blog.gcpowertools.com.cn/post/2014/08/01/ActiveReports_DataSource_DesignTime.aspx

    2.1頁面報表運行時設(shè)置數(shù)據(jù)源關(guān)鍵代碼如下:
          
             private void 運行時數(shù)據(jù)源頁面報表ToolStripMenuItem_Click(object sender, EventArgs e)
    
    
          
                {
    
    
          
                    GrapeCity.ActiveReports.PageReport pReport1 = new GrapeCity.ActiveReports.PageReport(new System.IO.FileInfo("PageReport_DataSource_RunTime.rdlx"));
    
    
          
                    viewer1.LoadDocument(pReport1.Document);            
    
    
          
                }
    
    
          
                private void Form1_Load(object sender, EventArgs e)
    
    
          
                {
    
    
          
                    viewer1.LocateDataSource += new GrapeCity.ActiveReports.LocateDataSourceEventHandler(viewer1_LocateDataSource);
    
    
          
                }
    
    
          
                void viewer1_LocateDataSource(object sender, GrapeCity.ActiveReports.LocateDataSourceEventArgs args)
    
    
          
                {
    
    
          
                    if (args.DataSourceName == "DataSource1")
    
    
          
                    {
    
    
          
                        if (args.DataSetName == "DataSet1")
    
    
          
                        {
    
    
          
                            args.Data = GetDataSource();
    
    
          
                        }
    
    
          
                    }
    
    
          
                }
    
    
          
                private DataTable GetDataSource()
    
    
          
                {
    
    
          
                    DataTable dt = new DataTable();
    
    
          
                    dt.Columns.Add("產(chǎn)品編號");
    
    
          
                    dt.Columns.Add("產(chǎn)品名稱");
    
    
          
                    dt.Columns.Add("單價");
    
    
          
                    dt.Columns.Add("庫存量");
    
    
          
                    dt.Rows.Add("A10002", "蘋果", 20, 50);
    
    
          
                    dt.Rows.Add("A15681", "香蕉", 20, 50);
    
    
          
                    dt.Rows.Add("A15681", "菠蘿", 20, 50);
    
    
          
                    return dt;
    
    
          
                }
          

    更多運行時設(shè)置報表數(shù)據(jù)源信息請參考:

    http://blog.gcpowertools.com.cn/post/2014/08/01/ActiveReports_DataSource_RunTime.aspx

    3.報表瀏覽器加載報表的區(qū)別

    頁面報表和區(qū)域報表在瀏覽方式上有差別,本節(jié)以WebViewer為例,來查看加載頁面報表和區(qū)域報表區(qū)別:

        
          GrapeCity.ActiveReports.PageReport rpt = new GrapeCity.ActiveReports.PageReport();
    
    
        
          rpt.Load(new System.IO.FileInfo(Server.MapPath("")+"\\invoice.rdlx"));
    
    
        
          WebViewer1.Report = rpt;
        

    WebViewer加載基于代碼的區(qū)域報表:

        
          SecionReport rpt = new SecionReport();
    
    
        
          WebViewer1.Report = rpt; 
        

    WebViewer加載基于XML的區(qū)域報表:

        
          SectionReport sr = new SectionReport();
    
    
        
          sr.LoadLayout(Server.MapPath("") + "\\Invoice.RPX);
    
    
        
          WebViewer1.Report = sr;
        

    關(guān)于在WinForms、WPF、Silverlight等平臺更多詳細內(nèi)容請參考幫助文檔相關(guān)章節(jié): http://www.gcpowertools.com.cn/docs/ActiveReports/AR8Guide/#!Documents/_28.htm

    以上就是ActiveReports報表控件入門教程的全部內(nèi)容,這三篇文章是使用ActiveReports報表控件必須要了解的只是,希望通過閱讀本系列文章能讓您在ActiveReports報表控件使用上有一個概括性的了解,順利的完成實際開發(fā)中的工作。

    您在使用產(chǎn)品過程中有任何疑問,可以登錄官方產(chǎn)品技術(shù)社區(qū)和經(jīng)驗豐富的技術(shù)工程師、ActiveReports開發(fā)人員交流: 點擊交流

    了解ActiveReports產(chǎn)品更多特性:

    http://www.gcpowertools.com.cn/products/activereports_overview.htm

    下載產(chǎn)品體驗產(chǎn)品功能:

    http://www.gcpowertools.com.cn/products/download.aspx?pid=16

    ActiveReports 報表控件官方中文入門教程 (3)-如何選擇頁面報表和區(qū)域報表


    更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

    微信掃碼或搜索:z360901061

    微信掃一掃加我為好友

    QQ號聯(lián)系: 360901061

    您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

    【本文對您有幫助就好】

    您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

    發(fā)表我的評論
    最新評論 總共0條評論
    主站蜘蛛池模板: 霍州市| 乌兰浩特市| 荥经县| 定结县| 泽普县| 蒲江县| 银川市| 宜宾市| 调兵山市| 临武县| 四子王旗| 社会| 南澳县| 崇仁县| 望奎县| 华亭县| 龙游县| 南涧| 威海市| 司法| 将乐县| 龙里县| 乌兰察布市| 阿克苏市| 武汉市| 德江县| 曲麻莱县| 阿鲁科尔沁旗| 庆城县| 恩平市| 淅川县| 凤凰县| 陈巴尔虎旗| 扶沟县| 县级市| 弥勒县| 明光市| 遵化市| 大荔县| 焦作市| 东丰县|