原創(chuàng)|使用教程|編輯:郝浩|2013-05-06 16:46:59.000|閱讀 326 次
概述:SharpShooter Reports是一款靈活的報(bào)表開發(fā)工具,支持WinForms、ASP.NET、HTML5多個(gè)版本,本文展示SharpShooter Reports管理報(bào)表數(shù)據(jù)的方法。
# 界面/圖表報(bào)表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
SharpShooter Reports是一款靈活的報(bào)表開發(fā)工具,支持WinForms、ASP.NET、WPF、HTML5, 和Silverlight多個(gè)版本,其一大特色是擁有專門的OLAP包用于多維數(shù)據(jù)分析,專門的Chart包用于創(chuàng)建豐富的可視化圖表。接下來慧都以一個(gè)例子來完整展示SharpShooter Reports管理報(bào)表數(shù)據(jù)的方法。
在日常工作中,我們可能需要一個(gè)報(bào)表來說明某天的日程,如部門B從3到下午5點(diǎn)要做什么?部門A和C又要做什么?我們就將以這個(gè)需求為例,使用SharpShooter Reports 創(chuàng)建這種報(bào)表。
首先,我們先創(chuàng)建一個(gè)如下的較為簡單的報(bào)表:
這是一個(gè)每部門按日期分的日程表,它的具體需求如下:
首先需要在DataSet和數(shù)據(jù)庫之間創(chuàng)建日程計(jì)劃的關(guān)聯(lián)。這個(gè)將用來展示一個(gè)指定部門的日程計(jì)劃。
由于可能會(huì)涉及到的報(bào)表參數(shù)等補(bǔ)充數(shù)據(jù),所以添加一個(gè)額外的數(shù)據(jù)集。
用一個(gè)以天為單位的table來創(chuàng)建一個(gè)日程表。
這個(gè)table里面的每條記錄將包含一天的開始與結(jié)束。
然后,在這些table的GenerateDays功能中設(shè)置days.To do:
void GenerateDays() { DateTime from = dateTimePickerFrom.Value.Date; DateTime to = dateTimePickerTo.Value.Date; int num = (to - from).Days; DayTable.Rows.Clear(); for (int i = 0; i < num; i++) { DataRow row = DayTable.NewRow(); row["From"] = new DateTime(from.Ticks + i * TimeSpan.TicksPerDay); row["To"] = new DateTime(from.Ticks + (i + 1) * TimeSpan.TicksPerDay); DayTable.Rows.Add(row); } }
在生產(chǎn)報(bào)表之前不要忘記調(diào)用GenerateDays功能:
private void buttonGenerate_Click(object sender, EventArgs e) { GenerateDays(); inlineReportSlot1.Prepare(); }
為報(bào)表數(shù)據(jù)源添加額外的dataset。
運(yùn)行報(bào)表模板:
將第一個(gè)數(shù)據(jù)帶區(qū)DataBand (dataBand4)的DataSource屬性設(shè)置為天。
將第一個(gè)數(shù)據(jù)帶區(qū)DataBand (dataBand4)的DataSource屬性設(shè)置為部門。
運(yùn)用Header元素讓dataBand5顯示內(nèi)容與dataBand4對(duì)應(yīng)。
將TextBox拖拽到設(shè)計(jì)器里,并將其鏈接到GetData(“Day.From)的值。
接下來是這個(gè)報(bào)表的第二部分,將每個(gè)部門對(duì)應(yīng)到日程。
通過參數(shù)在dataBand1中過濾日程,需要在FilterExpression屬性中設(shè)置以下腳本:
(DateTime)GetData("Department.Appointments.Time")>=(DateTime)dataBand4["From"] && (DateTime)GetData("Department.Appointments.Time")<(DateTime)dataBand4["To"]
按時(shí)間排續(xù)這些日程,添加GetData(“Department.Appointments.Time”)標(biāo)準(zhǔn)到排序?qū)傩灾小?/p>
這個(gè)報(bào)表的第二部分也完成了。
接下來最后一步就是顯示日程本身了,需使用細(xì)節(jié)元素。
添加2個(gè)TextBox元素到detail1中,把兩個(gè)TextBox鏈接到時(shí)間字段和最近日程的描述字段。
運(yùn)行它:
報(bào)表完成:
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請(qǐng)務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請(qǐng)郵件反饋至chenjj@fc6vip.cn
文章轉(zhuǎn)載自:慧都控件網(wǎng)