通用的報表瀏覽器,就是在報表瀏覽器窗體中提供幾個方法,用來載入資料和呼叫報表瀏覽器顯示報表。如:
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個正整...