Mang đến cho bạn hành trang là Kiến thức và Kinh nghiệm

Lựa chọn chủ đề bạn quan tâm

Cùng nhau thảo luận về các vấn đề

Hãy theo dõi chúng tôi nếu bạn thấy bổ ích

  1. Hỏi đáp IT
  2. Hỏi nhanh

Cách truyền tham số cho reporting - Lập trình C#

3530 Lượt xem 1 Bình luận 0 Lượt báo xấu
Mình đang tạo một cái report với Stored Procedure có 2 tham số là @MaPhongBan và @ThangLamViec
Trên form mình dùng 1 combobox MaPhongBan, datetimePicker Ngay và DocumentViewer để chứa report đó.
Có cách nào truyền dữ liệu để khi chọn Phongban và ngày thì report trên DocumentViewer sẽ hiện thông tin tương ứng.
Mình đã tham khảo cách làm nhưng chỉ thấy dùng dataset thôi.
Câu trả lời

- Bạn đã sẵn sàng thảo luận về chủ đề này. Hãy bấm "Viết bình luận", bạn có thể lựa chọn sử dụng tài khoản Facebook hoặc Google++

- Vì sự phát triển của cộng đồng CNTT/CNPM tại Việt Nam!

Unknown user
No responses yet

Bạn thử xem code của mình xem có khó kh nhé, vì mình dùng Report Viewer. Thực ra việc tạo ra 1 dataset để chứa các Table thì đơn giản nhưng nếu có thay đổi cấu trúc trong Table đó thì phải làm lại file.rdlc hơi mất time tí thôi
trong sự kiện click của button:
Code :
try
                            {
                                con.Open();//mở kết nối đến data của bạn
                                string sql = @"select cái j bạn thik
                                    from bảng nào đó
                                    where MaPhongBan = '" + comboBoxPhongban.selectedItem.tostring() + "' and ThangLamViec = '" + datetimePicker.value + "' ";
// nếu mã phòng ban dc load từ data ra thì dùng comboBoxPhongban.selectedValue
                                SqlDataAdapter da = new SqlDataAdapter(sql, con);//lấy dữ liệu từ DB bằng lệnh sql thông qua kết nối con ở trên
                                DataTable dt = new DataTable();//tạo table dt để chứa dữ liệu
                                da.Fill(dt);//đổ dữ liệu lấy được vào Table dt mới tạo này
                                reportViewer1.ProcessingMode = Microsoft.Reporting.WinForms.ProcessingMode.Local;
                                reportViewer1.LocalReport.ReportPath = "Ten_Report.rdlc";
                                reportViewer1.LocalReport.DataSources.Clear();
                                reportViewer1.LocalReport.DataSources.Add(new ReportDataSource("DataSet1", dt));
                                reportViewer1.RefreshReport();
                                //reportViewer1.SetDisplayMode(Microsoft.Reporting.WinForms.DisplayMode.PrintLayout);
                                con.Close();//đóng kết nối
                            }
                            catch (Exception ex)
                            {
                                MessageBox.Show(ex.ToString());
                            }
0 Lượt thích

Từ khóa tìm kiếm

Câu trả lời mới nhất

Tin tuyển dụng