伸进女同桌乳沟里摸爽了,小雪解开乳罩给老杨摸,少妇被按摩师摸高潮了,亲嘴扒胸摸屁股激烈视频,强摸秘书人妻大乳BD,摸BBB揉BBB揉BBB视频

新疆軟件開發(fā)

本站首頁 軟件開發(fā) 成功案例 公司新聞 公司簡介 客服中心 軟件技術(shù) 網(wǎng)站建設(shè)
  您現(xiàn)在的位置: 新疆二域軟件開發(fā)公司 >> 開發(fā)語言 >> 文章正文

大家看看,水晶報表的又一種靈活應(yīng)用

             
        使用水晶報表的強大功能來實現(xiàn)應(yīng)用程序的統(tǒng)計分析及打印導(dǎo)出等功能,是微軟平臺上進行.NET應(yīng)用程序開發(fā)報表的一種不錯的選擇。水晶報表在設(shè)計、開發(fā)、配置以及部署上,還是會給初學者帶來一定的困擾的。那么,是否存在一種相對比較簡單而且易用的方式來進行水晶報表的設(shè)計、開發(fā)、配置以及部署呢?本文將提供一種比較簡單且相對靈活的方法。
本文將包含以下內(nèi)容:

Crystal Reports的另類非對象模式數(shù)據(jù)綁定  
水晶報表的簡單模式部署
P.S. 本文中描述到的Crystal Reports為Crystal Reports for Visual Studio .NET,原則上該版本是runtime free授權(quán),for unlimited user的。VS IDE版本為2008,Crystal Reports版本為10

Crystal Reports的另類非對象模式數(shù)據(jù)綁定
水晶報表綁定數(shù)據(jù)的模式有很多種,其中包括使用DataSet、DataReader及ObjectCollection等。在某個特定的系統(tǒng)項目中,我們多數(shù)通過指定的業(yè)務(wù)數(shù)據(jù)庫來提供對報表數(shù)據(jù)的支持。本文將主要描述一種非數(shù)據(jù)庫數(shù)據(jù)綁定的變通模式,通過這種模式進行綁定的報表,可以不用設(shè)置其數(shù)據(jù)庫驗證參數(shù)(DBLogon)的相關(guān)信息,具體的數(shù)據(jù)源可以來源于數(shù)據(jù)庫,也可以來源于xml文件等其他半結(jié)構(gòu)化數(shù)據(jù)。
在VS IDE項目的Solution Explorer中,建立存放報表文件的文件夾,如ReprotFilesFolder
用鼠標右鍵點擊新建的文件夾,選擇添加新項(Add New Item...)
 
選擇“XML Schema”,將文件命名為Demo.xsd
用DataSet Editor打開該Schema文件,點擊“Ctrl+Alt+S”,打開“Server Explorer”,找到當前項目使用的數(shù)據(jù)庫連接,將報表展示涉及到的數(shù)據(jù)表拖拽到設(shè)計區(qū)域
 
推拽的表可以是存在鍵值關(guān)系的表,也可以是毫無關(guān)系的表,甚至通過存儲過程建立的臨時表,保存該xsd文件
用鼠標右鍵點擊新建的文件夾,選擇添加新項(Add New Item...) 
選擇Crystal Report,將報表文件命名為Demo.rpt,點擊添加(Add)
在打開的水晶報表向?qū)Т翱谥羞x擇“使用報表向?qū)А,點擊確定
 
在報表向?qū)У臄?shù)據(jù)向?qū)ы撝,選擇“創(chuàng)建新連接-數(shù)據(jù)庫文件”
 
點擊數(shù)據(jù)庫文件前的“+”,將彈出選擇數(shù)據(jù)文件窗口,找到剛才創(chuàng)建的Demo.xsd文件,并點擊“打開”
 
此時,我們剛添加到Demo.xsd中的兩個數(shù)據(jù)表將出現(xiàn)在“數(shù)據(jù)文件”節(jié)點的子節(jié)點下,選中數(shù)據(jù)表,點擊“>”按鈕,將表添加到“已選擇表”列表中
 
點擊“下一步”,可以為表之間添加隱式的鍵值關(guān)系
 
點擊完成,將生成一張空白的報表
 
根據(jù)實際的業(yè)務(wù)情況設(shè)計符合要求的報表,并保存報表文件,例如下圖
 
設(shè)計工作到此告一段落,下面將進行數(shù)據(jù)的綁定。
新建一個WebForm頁面,將CrystalReportViewer添加到頁面中,如下圖所示
 
在后臺頁面中首先引用Crystal Reports的程序集
using CrystalDecisions.CrystalReports.Engine;
using CrystalDecisions.Shared;
定義變量
private ReportDocument reportDocument;
添加自定義方法
/// <summary>
/// 初始化報表
/// </summary>
private void ConfigureCrystalReports()
{
    //當前業(yè)務(wù)的報表打印文件
    string RPTFile = "";
    //當前業(yè)務(wù)的報表打印數(shù)據(jù)集
    DataSet ds = null;

    #region 獲取報表打印文件
    if (Session["rf"] == null)
    {
        RPTFile = Server.MapPath("Demo.rpt");
        Session["rf"] = RPTFile;
    }
    else
        RPTFile = Session["rf"].ToString();
    #endregion

    #region 獲取當前業(yè)務(wù)的報表打印數(shù)據(jù)
    if (Session["pd"] == null)
    {
        ds = new DataSet();
        string sql = "";
        sql = "select * from SalesMaster where BItemSerialNumber='0802280001'";
        DataSet masterDs = 填充主表數(shù)據(jù)
        //將主表添加到報表數(shù)據(jù)集中
        ds.Merge(masterDs);
        //利用同樣的方法添加子表或其他的表,甚至可以添加表和表之間的關(guān)系

        //上述方法也可以從其他數(shù)據(jù)源讀入數(shù)據(jù),包括Access數(shù)據(jù)庫、xml數(shù)據(jù)等

        Session["pd"] = ds;
    }
    else
        ds = (DataSet)Session["pd"];
    #endregion

    if (Session["reportDocument"] == null)
    {
        reportDocument = new ReportDocument();
        reportDocument.Load(RPTFile);
        reportDocument.SetDataSource(ds);
        Session["reportDocument"] = reportDocument;
    }
    else
        reportDocument = (ReportDocument)Session["reportDocument"];
    ReportViewer.ReportSource = reportDocument;
}

在頁面的Page_Load方法中添加Response.Expires = -1;
添加頁面初始化方法
/// <summary>
/// 頁面初始化事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Page_Init(object sender, EventArgs e)
{
    ConfigureCrystalReports();
}

至此,報表的數(shù)據(jù)綁定及顯示工作完成。編譯項目后,在瀏覽器中可以查看報表效果。此種方法的靈活性在于
完成后,完全可以刪除.xsd的Schema文件而運行,或?qū)?xsd文件移出項目。
數(shù)據(jù)的讀入,不論來自SQL Server、Access還是xml數(shù)據(jù),只要符合我們設(shè)定的Schema的表格式,即可以綁定到報表中。
我們也可以修改并強化上述的ConfigureCrystalReports方法,并建立系統(tǒng)管理頁面,在管理頁面上進行數(shù)據(jù)來源的選擇和設(shè)定等。
水晶報表的簡單模式部署
將水晶報表部署到目標服務(wù)器的原因是,.NET Framework的安裝中并沒涵蓋水晶報表的合成項。在之前,曾經(jīng)聽說過程序員為了將水晶報表的支持部署到服務(wù)器,而在服務(wù)器上安裝VS IDE的事情。因此,在這里給一個簡單的方法。
在安裝了VS IDE的開發(fā)機環(huán)境中,打開資源管理器
VS2005定位到:
%systemroot%\Program Files\Microsoft Visual Studio 8\SDK\v2.0\BootStrapper\Packages\CrystalReports
VS2008定位到:
%systemroot%:\Program Files\Microsoft SDKs\Windows\v6.0A\Bootstrapper\Packages\CrystalReports10_5
在上述文件夾中找到CRRedist2005_x86.msi或CRRedist2008_x86.msi文件,在服務(wù)器上安裝即可

作者:Richard | 文章來源:cnblogs | 更新時間:2008-2-28 15:53:08

  • 上一篇文章:

  • 下一篇文章:

  • 相關(guān)文章:
    沒有相關(guān)文章
    軟件技術(shù)
    · 開發(fā)語言
    · Java技術(shù)
    · .Net技術(shù)
    · 數(shù)據(jù)庫開發(fā)
    最新文章  
    ·搜集整理的asp.net的驗證方
    ·各種FOR循環(huán)結(jié)構(gòu)的整理
    ·軟件項目開發(fā)中應(yīng)該考慮那
    ·搜集整理的javascript sel
    ·軟件開發(fā)中項目經(jīng)理有那些
    ·學習如何在Lambda表達式進
    ·C++基礎(chǔ)知識:結(jié)構(gòu)體數(shù)據(jù)的
    ·C#實現(xiàn)短信發(fā)送程序的例子
    ·sun最近修補了一部分java的
    ·rss定制的另外一種實現(xiàn)方式
    ·delphi實現(xiàn)利用arp欺騙來實
    ·基礎(chǔ)學習:基于WF的流程框
    ·網(wǎng)絡(luò)編程中怎樣得知一次數(shù)
    ·如何逆序輸出單鏈表?
    ·軟件開發(fā)過程中的性能設(shè)計
    關(guān)于我們 | 軟件開發(fā) | 下載試用 | 客服中心 | 聯(lián)系我們 | 友情鏈接 | 網(wǎng)站地圖 | 新疆電子地圖 | RSS訂閱
    版權(quán)所有 © 2016 新疆二域軟件開發(fā)網(wǎng) www.zgna.net All Rights Reserved 新ICP備14003571號
    新疆軟件開發(fā)總機:0991-4842803、4811639.
    客服QQ:596589785 ;地址:新疆烏魯木齊北京中路華聯(lián)大廈A-5C 郵編:830000
     
    辛集市| 平南县| 奎屯市| 上饶县| 定陶县| 水城县| 上林县| 全南县| 二手房| 河西区| 图们市| 长泰县| 左权县| 雷山县| 莱州市| 赞皇县| 上虞市| 武胜县| 牡丹江市| 揭阳市| 太康县| 天等县| 桦川县| 雷山县| 绥阳县| 惠水县| 昌乐县| 调兵山市| 永年县| 河北省| 海兴县| 进贤县| 松原市| 秦安县| 五河县| 双柏县| 永宁县| 三门县| 无锡市| 罗田县| 双流县|