ActiveReport3 0通用報表瀏覽器

2021-04-28 10:59:24 字數 3248 閱讀 6620

通用的報表瀏覽器,就是在報表瀏覽器窗體中提供幾個方法,用來載入資料和呼叫報表瀏覽器顯示報表。如:

public static void previewreport(datadynamics.activereports.activereport3 report)

還有public static void previewreport(datadynamics.activereports.activereport3 report, dataset dataset, string tablename)

瀏覽窗體完成之後才發現,瀏覽視窗都是英文的,到客戶面前一定不過關,如何漢化呢,在網上找到了幾行**, 

public sub creport(areport as activereport)'漢化

activereport

'以下適用

2.0with areport

.*******.tools.item(0).tooltip = "

各頁目錄

".*******.tools.item(2).caption = "

列印..."

.*******.tools.item(2).tooltip = "

列印報表

".*******.tools.item(4).tooltip = "拷貝"

.*******.tools.item(6).tooltip = "查詢"

.*******.tools.item(8).tooltip = "

單頁顯示

".*******.tools.item(9).tooltip = "

多頁顯示

".*******.tools.item(11).tooltip = "縮小"

.*******.tools.item(12).tooltip = "放大"

.*******.tools.item(15).tooltip = "

".*******.tools.item(16).tooltip = "

".*******.tools.item(19).tooltip = "後退"

.*******.tools.item(19).caption = "後退"

.*******.tools.item(20).tooltip = "前進"

.*******.tools.item(20).caption = "前進"

end with

end sub

在報表流覽器中*******物件中,有tools物件的集合,他們的caption和tooltip屬性都是可寫的,用下面的**就可以解決了。

還有乙個問題報表有乙個匯出的功能,

檢視一下datadynamics.activereports.*******命名空間,其中有accessible*******button、button、checkbutton等類,他們都是控制項類,既然提供了這些控制項,就一定可以使用,再用物件瀏覽器檢視一下

public class toolscollection : system.collections.collectionbase

datadynamics.activereports.******* 的成員

public system.int32 add ( datadynamics.activereports.*******.tool value )

datadynamics.activereports.*******.toolscollection 的成員

報表瀏覽器中提供了新增控制項的方法,如:this.reportviewer.*******.tools.add(toolbutton);

這樣新增乙個工具欄按鈕就沒有問題了。

datadynamics.activereports.*******.button toolbutton = new datadynamics.activereports.*******.button();

toolbutton.caption = "報表匯出";

toolbutton.tooltip = "報表匯出";

toolbutton.tag = "export";

toolbutton.id = 30;

toolbutton.imageindex = 11;

this.reportviewer.*******.tools.add(toolbutton);

this.reportviewer.toolclick+=new datadynamics.activereports.*******.toolclickeventhandler(reportviewer_toolclick);

這樣主要的**就完成了。下面是完整的**:

using system;

using system.drawing;

using system.collections;

using system.componentmodel;

using system.windows.forms;

using system.data;

namespace lingzhan.hsm.launchcourse.report

///

/// 清理所有正在使用的資源。

///

protected override void dispose( bool disposing )

}base.dispose( disposing );

}#region windows 窗體設計器生成的**

///

/// 設計器支援所需的方法 - 不要使用**編輯器修改

/// 此方法的內容。

///

private void initializecomponent()

public static void previewreport(datadynamics.activereports.activereport3 report)

public static void previewreport(datadynamics.activereports.activereport3 report, dataset dataset, string tablename)

private void exportdocument()

private void reportviewer_toolclick(object sender, datadynamics.activereports.*******.toolclickeventargs e)}}

}效果如圖:

匯出對話方塊我用的是activereport3.0中自帶的沒有修改,漢化過程請自己完成。

公路村村通(30 分)

這個題目就是最小生成樹,很簡單的乙個題目,就是需要判斷每個結點是否都在樹上,然後判斷一下就可以,板子題目 現有村落間道路的統計資料表中,列出了有可能建設成標準公路的若干條道路的成本,求使每個村落都有公路連通所需要的最低成本。輸入資料報括城鎮數目正整數 n 和候選道路數目 m 隨後的 m行對應 m條道...

PTA 公路村村通 (30 分)

7 3 公路村村通 30 分 現有村落間道路的統計資料表中,列出了有可能建設成標準公路的若干條道路的成本,求使每個村落都有公路連通所需要的最低成本。輸入格式 輸入資料報括城鎮數目正整數n 1000 和候選道路數目m 3n 隨後的m行對應m條道路,每行給出3個正整數,分別是該條道路直接連通的兩個城鎮的...

5 10 公路村村通 30分

5 10 公路村村通 30分 現有村落間道路的統計資料表中,列出了有可能建設成標準公路的若干條道路的成本,求使每個村落都有公路連通所需要的最低成本。輸入資料報括城鎮數目正整數n n le 1000 1 000 和候選道路數目m m le 3n 3 n 隨後的m m行對應m m條道路,每行給出3個正整...