Visual Studio 2008 水晶報表快速入門主要為大家講解一些如何在ASP.NET 2008下使用水晶報表,一個快速入門的教程,從引入CrystalReport水晶報表開始,以一個完整的流程及簡要的配置代碼為例,向朋友們介紹水晶報表的使用技巧,ASP.NET開發(fā)的朋友更應(yīng)該參閱一下。
先新建一個Web項目: CrystalWebApp
為項目添加新項: CrystalReport1.rpt
在彈出的對話框,選擇作為空白報表。用向?qū)М?dāng)然更方便,但在這里,白手起家或許能更好地理解。
在工具箱選擇 Text Object,拖到報表頭。寫些字,設(shè)置字體之類的。在屬性選項卡設(shè)置它的名字為 txtTitle 以供將來程序訪問。
水晶報表對于程序員來說其實跟 Repeater 控件是很相似的。于是需要數(shù)據(jù)和字段名。在Repeater 控件中你可以很隨意地指定要綁定的字段名。在程序還沒有真正運行之前,這個字段名可以沒有任何表的字段名跟它匹配,也可以沒有任何類的屬性名跟它匹配。但在水晶報表中,字段名在設(shè)計階段就必須是真實存在的。還能稍感安慰的是,水晶報表一旦設(shè)計好之后,就能像 Repeater 控件那樣綁定任意類型的對像。而不必是設(shè)計時指定字段來源的表或類。所以我們現(xiàn)在要創(chuàng)造些真實存在的字段名……
create table TabTest
(
UserID int,
UserName nvarchar(50),
Age int,
Birthday datetime
)
你可以用 Access 或者 Excel 來創(chuàng)造真實存在的字段名,但我這里是使用 SQL Server。
在 "字段資源管理器" 的 "數(shù)據(jù)庫字段" 上按右鍵,選擇 "數(shù)據(jù)庫專家..."。在彈出的對話框中,創(chuàng)建新連接==>OLE DB (ADO)(Access 或者 Excel 應(yīng)點 "數(shù)據(jù)庫文件" 前的 "+" 號)。 在彈出的對話框,選擇 "SQL Native Client" 作為提供程序。
按提示一步步地做,直到連上數(shù)據(jù)庫。選擇表 TabTest,把它弄到右邊的框中。再點擊確定。
折騰了半天就是為了這些字段名。對水晶報表的開發(fā)商無語……
把需要顯示的字段拖到 "詳細(xì)資料"。"頁眉" 和 Word 文檔中的頁眉完全不是一回事。這里的頁眉其實就是列名(表頭)。那么就順便改一下列名吧。默認(rèn)是有下劃線的,可以改一下格式。
"頁腳" 倒是跟 Word 文檔中的頁腳概念相同,可以拖個特殊字段頁碼進去。
點擊工具箱中的 Line Object 可以為報表畫線。你會發(fā)現(xiàn),畫一個表格竟然是如此地困難。
在報表空白處按右鍵,設(shè)計==>打印機設(shè)置 也許有你想要的東西。
那么專業(yè)的事情應(yīng)該交給那么專業(yè)的人士去做,我們的任務(wù)是寫代碼……
進入 Default.aspx 的設(shè)計視圖,從工具箱中拖個 CrystalReportViewer 過來。
接下來需要數(shù)據(jù)。數(shù)據(jù)當(dāng)然可以是來自設(shè)計時的表。但我這里是來自于新建的類: UserInfo。在項目中添加一個 UserInfo 類。
using System;
namespace CrystalWebApp
{
public class UserInfo
{
private int userID;
public int UserID
{
get { return userID; }
set { userID = value; }
}
private string userName;
public string UserName
{
get { return userName; }
set { userName = value; }
}
private int age;
public int Age
{
get { return age; }
set { age = value; }
}
private DateTime birthday;
public DateTime Birthday
{
get { return birthday; }
set { birthday = value; }
}
}
}
為 Default.aspx 寫些后臺代碼
。。。