使用 LocalReport 物件進行列印

2022-03-07 12:36:19 字數 2547 閱讀 1086

新增引用

從「專案」選單中,選擇「新增引用」。將顯示「新增引用」對話方塊。

從「.net」選項卡上顯示的列表框中,選擇 winforms 和 drawing 元件。

新增**

應開啟 program.cs 檔案以供編輯。如果未開啟,在「解決方案資源管理器」視窗中雙擊 program.cs 檔案。

使用以下**替換 program.cs 檔案中的現有**。確保使用本地計算機上示例報表的有效路徑來替換報表引用。不要向專案新增 data.xml 和 report.rdlc。下面以程式設計方式訪問這些檔案。

using

system;

using

system.io;

using

system.data;

using

system.text;

using

system.drawing.imaging;

using

system.drawing.printing;

using

system.collections.generic;

using

system.windows.forms;

using

microsoft.reporting.winforms;

public

class

demo : idisposable

private stream createstream(string

name,

string

filenameextension, encoding encoding,

string mimetype, bool

willseek)

//string filenameext = datetime.now.year.tostring() + datetime.now.day.tostring() + datetime.now.month.tostring() + datetime.now.hour.tostring() + datetime.now.minute.tostring() + datetime.now.second.tostring();

//string strfile = strpath + filenameext + name + "." + filenameextension;

//stream stream = new filestream(strfile, filemode.create);

//m_streams.add(stream);

//return stream;

stream stream = new filestream(@"

c:\my reports\

" + name +

"." +filenameextension, filemode.create);

m_streams.add(stream);

return

stream;

}private

void

export(localreport report)

private

void printpage(object

sender, printpageeventargs ev)

private

void

print()

\".", "預設印表機!");

// messagebox.show(msg, "找不到預設印表機");

// return;

//} += new printpageeventhandler(printpage);

const

string printername = "

microsoft office document image writer";

if (m_streams == null || m_streams.count == 0

)

return

; printdocument printdoc = new

printdocument();

printdoc.printersettings.printername =printername;

if (!printdoc.printersettings.isvalid)

\".", printername);

messagebox.show(msg,

"print error");

return

; }

printdoc.printpage += new

printpageeventhandler(printpage);

printdoc.print();

}private

void

run()

public

void

dispose()

}public

static

void main(string

args)

}}

參考:

建立物件和使用物件

其實就是物件自身所具有的一些資料和行為,可通過一些公開的方法來實現它的職責。很多的時候,所關心的就是乙個物件本身所具有的職責。建立物件的方法有以下幾種 1.使用new關鍵字直接建立物件,這是很多時候的選擇 2.通過反射機制 3.通過工廠類建立物件 使用new關鍵字建立物件的缺點 在乙個類中使用new...

物件導向 物件的使用

在程式設計中先定義類,才能宣告類的物件。class oldboystudent school oldboy 語法 在類名後加括號,與呼叫函式寫法相同。s1 oldboystudent 查print s1.school oldboy 增s1.age 1 print s1.age print s1.di...

使用 NSConditionLock 物件

使用 nsconditionlock 物件nsconditionlock 物件定義了乙個互斥鎖,可以使用特定值來鎖住和解鎖。不要 把該型別的鎖和條件 參見 條件 部分 混淆了。它的行為和條件有點類似,但是它們的實現非常不同。通常,當多執行緒需要以特定的順序來執行任務的時候,你可以使用乙個 nscon...