• Vui lòng đọc nội qui diễn đàn để tránh bị xóa bài viết
  • Tìm kiếm trước khi đặt câu hỏi

Sử dụng Report chuẩn của .NET, tại sao không?

Các bài viết hướng dẫn về Visual Basic .NET và C#

Điều hành viên: tungcan5diop, QUANITGROBEST

ukyokg
Thành viên chính thức
Thành viên chính thức
Bài viết: 15
Ngày tham gia: T.Năm 05/05/2011 10:52 am
Has thanked: 1 time

Re: Sử dụng Report chuẩn của .NET, tại sao không?

Gửi bàigửi bởi ukyokg » T.Bảy 14/05/2011 12:00 pm

thuongbat đã viết:
ukyokg đã viết:mình có mẫu báo cáo như thế này, mình muốn mỗi bộ dữ liêu như vậy là 1 trang thì làm sao ban


Một số control (như Table, Maxtrix, Rectangle, List) có 2 thuộc tính là PageBreakAtStart (bắt Report xuống trang khi bắt đầu gặp control này) và PageBreakAtEnd (xuống trang sau khi hết nội dung của control).
Report của bạn có chiều cao cố định, bạn có thể thử cho hết các Textbox hiện có trong Report của bạn vào trong một cái Rectangle, rồi đặt thuộc tính PageBreakAtEnd của Rectangle là True



mình đã làm thử cách của bạn nhưng nó chỉ nhảy wa trang khác nhưng trang đó ko có dữ liệu. giúp mình với >.<



procute
Bài viết: 3
Ngày tham gia: T.Năm 25/11/2010 12:09 am

Re: Sử dụng Report chuẩn của .NET, tại sao không?

Gửi bàigửi bởi procute » CN 05/06/2011 3:17 pm

Anh thuongbat ơi, cho em hỏi em đang làm project bằng wpf , nhưng trong wpf ko thấy cái reportview đâu cả , mặt dù đã tìm trong Add Item .

Sẵn cho em hỏi, hình như wpf ko dùng được cái này thì phải.

Hình đại diện của người dùng
thuongbat
Guru
Guru
Bài viết: 346
Ngày tham gia: CN 27/04/2008 10:11 am
Has thanked: 4 time
Been thanked: 79 time

Re: Sử dụng Report chuẩn của .NET, tại sao không?

Gửi bàigửi bởi thuongbat » CN 05/06/2011 4:46 pm

Trong wpf vẫn sử dụng bình thường nhé. Chỉ có điều reportviewer không add trực tiếp được vào Window của wpf. Bạn phải thêm Form vào dự án của mình để hiển thị report.
Rượu gặp tri kỷ ngàn chén thiếu.
Chuyện người không hợp nửa câu thừa.

drtrungdung
Bài viết: 6
Ngày tham gia: CN 24/04/2011 9:22 am
Đến từ: Gia Lai
Liên hệ:

Re: Sử dụng Report chuẩn của .NET, tại sao không?

Gửi bàigửi bởi drtrungdung » T.Bảy 18/06/2011 11:52 pm

Cho mình hỏi cách đưa nội dung của file rtf hoặc nội dung của một rich text box trên form vào report chuẩn của vbnet. Loay hoay mấy ngày nay mà chưa được. Mong nhận được sự giúp đỡ. Xin chân thành cảm ơn!

Hình đại diện của người dùng
vuathongtin
Điều hành viên
Điều hành viên
Bài viết: 1028
Ngày tham gia: CN 02/05/2010 10:03 pm
Đến từ: Xứ sở DG
Has thanked: 2 time
Been thanked: 105 time
Liên hệ:

Re: Sử dụng Report chuẩn của .NET, tại sao không?

Gửi bàigửi bởi vuathongtin » T.Bảy 18/06/2011 11:58 pm

Bạn thử truyền theo tham số
2.8. Tham số của Report:
Bạn muốn truyền 1 giá trị nào đó từ Form vào Report, bạn chỉ việc tạo tham số cho report. Cách tạo tham số như sau:
+ Từ menu Report chọn muc Report Parameters
+ Click vào nút Add để thêm tham số mới

(Trích từ viewtopic.php?f=23&t=15790)
Bùi Thành Nhân
CNTT-Sở Thông tin & Truyền thông tỉnh Phú Yên
giasulaptrinh.com
Skype:vuathongtin

thuyan1990
Thành viên trung thành
Thành viên trung thành
Bài viết: 299
Ngày tham gia: T.Bảy 02/01/2010 10:23 am
Has thanked: 20 time
Been thanked: 2 time

Re: Sử dụng Report chuẩn của .NET, tại sao không?

Gửi bàigửi bởi thuyan1990 » T.Năm 30/06/2011 11:46 pm

Cái này có cách nào mình print luôn mà không cần preview lên không các bạn?
Cảm ơn bài viết hay! :D

Hình đại diện của người dùng
thuongbat
Guru
Guru
Bài viết: 346
Ngày tham gia: CN 27/04/2008 10:11 am
Has thanked: 4 time
Been thanked: 79 time

Re: Sử dụng Report chuẩn của .NET, tại sao không?

Gửi bàigửi bởi thuongbat » T.Sáu 01/07/2011 9:10 am

bạn xem link này nhé: http://msdn.microsoft.com/en-us/library/ms252091.aspx
cũng hơi phức tạp 1 chút.
Rượu gặp tri kỷ ngàn chén thiếu.
Chuyện người không hợp nửa câu thừa.

thuyan1990
Thành viên trung thành
Thành viên trung thành
Bài viết: 299
Ngày tham gia: T.Bảy 02/01/2010 10:23 am
Has thanked: 20 time
Been thanked: 2 time

Re: Sử dụng Report chuẩn của .NET, tại sao không?

Gửi bàigửi bởi thuyan1990 » T.Sáu 01/07/2011 9:31 am

Cảm ơn anh thuongbat nhiều. Anh thuongbat cho em hỏi thêm. Ví dụ em có 1 table giờ em muốn cho nguyên table có khung (màu đen) cho các cell vậy thì mình đóng khung từng cell. Chứ không đóng khung nguyên table được hả anh? (tức chọn table rồi chọn 1 thuộc tính nào đó nó tự động tô tất cả như office đó anh)

Còn cái textbox khi cái string quá dài nó tự xuống dòng có thuộc tính nào mình CUT nó không anh (không dùng hàm cut nhe!)

Hình đại diện của người dùng
thuongbat
Guru
Guru
Bài viết: 346
Ngày tham gia: CN 27/04/2008 10:11 am
Has thanked: 4 time
Been thanked: 79 time

Re: Sử dụng Report chuẩn của .NET, tại sao không?

Gửi bàigửi bởi thuongbat » T.Sáu 01/07/2011 9:58 am

Đối tượng trong Report chuẩn của .NET có thuộc tính Border để đóng khung, nhưng nó chỉ có các Border: Left, Right, Top, Bottom chứ không có các Border kiểu Inner border (các border ở bên trong).
Để đóng khung 1 bảng, bạn phải đóng khung từng thành phần. Tuy nhiên, thay vì chọn từng cell để đóng khung, bạn có thể chọn nguyên cả Row, hoặc nguyên cả Column để đóng khung,như vậy sẽ nhanh hơn 1 chút.

Về textbox, bạn không muốn nó tràn dòng khi text của nó quá dài, bạn có thể đặt thuộc tính CanGrow của nó là False.
Rượu gặp tri kỷ ngàn chén thiếu.
Chuyện người không hợp nửa câu thừa.

thuyan1990
Thành viên trung thành
Thành viên trung thành
Bài viết: 299
Ngày tham gia: T.Bảy 02/01/2010 10:23 am
Has thanked: 20 time
Been thanked: 2 time

Re: Sử dụng Report chuẩn của .NET, tại sao không?

Gửi bàigửi bởi thuyan1990 » T.Bảy 02/07/2011 12:30 am

Dim newDataSource As Microsoft.Reporting.WinForms.ReportDataSource = New Microsoft.Reporting.WinForms.ReportDataSource("dsCallLogs_tbl_Call_Logs", dt)
ReportViewer1.LocalReport.DataSources.Add(newDataSource)

Nếu mình muốn add nhiều datatable thì mình lặp lại đoạn code trên hả anh? Hay là có cách nào cho add nhiều datatable không anh?

Hình đại diện của người dùng
thuongbat
Guru
Guru
Bài viết: 346
Ngày tham gia: CN 27/04/2008 10:11 am
Has thanked: 4 time
Been thanked: 79 time

Re: Sử dụng Report chuẩn của .NET, tại sao không?

Gửi bàigửi bởi thuongbat » T.Bảy 02/07/2011 8:29 am

thuyan1990 đã viết:Dim newDataSource As Microsoft.Reporting.WinForms.ReportDataSource = New Microsoft.Reporting.WinForms.ReportDataSource("dsCallLogs_tbl_Call_Logs", dt)
ReportViewer1.LocalReport.DataSources.Add(newDataSource)

Nếu mình muốn add nhiều datatable thì mình lặp lại đoạn code trên hả anh? Hay là có cách nào cho add nhiều datatable không anh?


Đúng rồi bạn ạ
Rượu gặp tri kỷ ngàn chén thiếu.
Chuyện người không hợp nửa câu thừa.

thuyan1990
Thành viên trung thành
Thành viên trung thành
Bài viết: 299
Ngày tham gia: T.Bảy 02/01/2010 10:23 am
Has thanked: 20 time
Been thanked: 2 time

Re: Sử dụng Report chuẩn của .NET, tại sao không?

Gửi bàigửi bởi thuyan1990 » CN 03/07/2011 1:57 pm

Cái này báo cáo nhóm thế nào vậy anh thuongbat? Ví dụ em muốn trong ngay nhóm giày, dép....
Giờ em muốn thể hiện trên báo cáo thế này.
Nhóm giày bán được so lượng bao nhiêu? (1 ROW)
phía dưới là chi tiết từng món được bán.
Lần lược thể hiện các nhóm khác....

Trong crystal thì có 1 thuộc tính để định dạng phần ngàn cho các số nhưng cái này em không thấy nó.
Với lại mình có cách nào truyền properties của các đối tượng trên report không anh. (ví dụ như tọa độ....) hay là mình phải fix trực tiếp trên file rdlc vậy anh?

Hình đại diện của người dùng
thuongbat
Guru
Guru
Bài viết: 346
Ngày tham gia: CN 27/04/2008 10:11 am
Has thanked: 4 time
Been thanked: 79 time

Re: Sử dụng Report chuẩn của .NET, tại sao không?

Gửi bàigửi bởi thuongbat » CN 03/07/2011 2:51 pm

+ Tạo nhóm: xem bài viết đầu tiên, mục 2.5
+ Truyền tham số: mục 2.8
+ Format giá trị:
- Right Click vào textbox cần format, chọn Properties
- CHọn sang Tab Format
- Nhập chuỗi format vào ô Format Code. Ví dụ: ="dd/MM/yyyy" để định dạng ngày tháng theo kiểu ngày/tháng/năm
Rượu gặp tri kỷ ngàn chén thiếu.
Chuyện người không hợp nửa câu thừa.

thuyan1990
Thành viên trung thành
Thành viên trung thành
Bài viết: 299
Ngày tham gia: T.Bảy 02/01/2010 10:23 am
Has thanked: 20 time
Been thanked: 2 time

Re: Sử dụng Report chuẩn của .NET, tại sao không?

Gửi bàigửi bởi thuyan1990 » CN 03/07/2011 3:42 pm

Tạo nhóm
Tức là thế này em làm 1 querry có nhóm cả các món của nhóm giờ em đổ vào
Vấn đề em gặp phải là em muốn đóng khung 1 cell nào đó.
Ví dụ em có điều kiện thế này khi nếu cell đơn vị tính có giá trị (tức row này là món hàng) thì đống khung cell ngược lại bỏ trống (tức row này là nhóm)

Cái format (1.000) thì thế nào anh?

Hình đại diện của người dùng
thuongbat
Guru
Guru
Bài viết: 346
Ngày tham gia: CN 27/04/2008 10:11 am
Has thanked: 4 time
Been thanked: 79 time

Re: Sử dụng Report chuẩn của .NET, tại sao không?

Gửi bàigửi bởi thuongbat » CN 03/07/2011 4:06 pm

Đóng khung cell thì bạn có thể sử dụng thuộc tính Border của cell. Bạn có thể xem ở đây: viewtopic.php?f=8&t=16476#p96504.

Format giá trị 1000 thì có thể sử dụng: ="0,0". (dấu phảy ở đây là dấu phân cách phần ngàn, ko phải dấu phân cách phần nguyên và phần thập phân. Đây là giá trị mặc định của máy tính).
Rượu gặp tri kỷ ngàn chén thiếu.
Chuyện người không hợp nửa câu thừa.

thuyan1990
Thành viên trung thành
Thành viên trung thành
Bài viết: 299
Ngày tham gia: T.Bảy 02/01/2010 10:23 am
Has thanked: 20 time
Been thanked: 2 time

Re: Sử dụng Report chuẩn của .NET, tại sao không?

Gửi bàigửi bởi thuyan1990 » CN 03/07/2011 10:26 pm

Tuyệt vời quá cảm ơn anh thuongbat thật là nhiều :d

thuyan1990
Thành viên trung thành
Thành viên trung thành
Bài viết: 299
Ngày tham gia: T.Bảy 02/01/2010 10:23 am
Has thanked: 20 time
Been thanked: 2 time

Re: Sử dụng Report chuẩn của .NET, tại sao không?

Gửi bàigửi bởi thuyan1990 » T.Hai 04/07/2011 10:51 pm

Cái hàm SUM của cell mình có thể SUM theo 1 điều kiện nào đó không anh?
Và ngoài cách mình tạo STT ở datatable thì mình có cách tạo nào khác không anh?

Hình đại diện của người dùng
thuongbat
Guru
Guru
Bài viết: 346
Ngày tham gia: CN 27/04/2008 10:11 am
Has thanked: 4 time
Been thanked: 79 time

Re: Sử dụng Report chuẩn của .NET, tại sao không?

Gửi bàigửi bởi thuongbat » T.Ba 05/07/2011 10:00 am

+ Bạn có thể sử dụng hàm SUM có 2 tham số là đối tượng cần SUM và phạm vi cần SUM. Điều kiện lọc có thể áp dụng để tạo ra các phạm vi khác nhau, từ đó hàm SUM cũng có thể tính toán linh hoạt. Bạn nên tìm hiểu thêm về Excel. Hàm SUM của report cũng khá giống với SUM trong excel đấy.
+ Có thể có nhiều cách nữa nhưng mình ngại tìm hiểu. Bạn có thể tự tìm hiểu thêm xem sao.
Rượu gặp tri kỷ ngàn chén thiếu.
Chuyện người không hợp nửa câu thừa.

thuyan1990
Thành viên trung thành
Thành viên trung thành
Bài viết: 299
Ngày tham gia: T.Bảy 02/01/2010 10:23 am
Has thanked: 20 time
Been thanked: 2 time

Re: Sử dụng Report chuẩn của .NET, tại sao không?

Gửi bàigửi bởi thuyan1990 » T.Ba 05/07/2011 10:52 pm

EXCEL hinh như có hàm SUMIF hàm này cho phép sum có đk nhưng trong report thì ko hỗ trợ hàm này

keoratto
Thành viên chính thức
Thành viên chính thức
Bài viết: 20
Ngày tham gia: T.Năm 26/06/2008 5:50 pm

Re: Sử dụng Report chuẩn của .NET, tại sao không?

Gửi bàigửi bởi keoratto » T.Hai 01/08/2011 11:19 am

Mình làm theo hướng dẫn của bạn và bị vướng ở chỗ Design Report
Ví dụ: trong textbox trền Report mình set công thức cho text như sau:
=Parameters!Sender.Value
(dòng param hiển thị gạch đỏ báo sai syntax)

Và VB.NET báo lỗi
Error 1 The Value expression for the text box ‘Textbox4’ refers to a non-existing report parameter ‘Sender’.

Trong Project của bạn thì khi chọn Parameter nó hiện ra ngay bên phải các Param có thể dùng.

Vậy xin hỏi thiết lập các Param này như thế nào, ko thấy bạn mô tả trong bài hướng dẫn.

Cám ơn bạn rất nhiều về bài viết ý nghĩa


Quay về “[.NET] Bài viết hướng dẫn”

Đang trực tuyến

Đang xem chuyên mục này: Không có thành viên nào trực tuyến.1 khách