Trang 1 trên tổng số 2 12 Cuối cùngCuối cùng
Từ 1 tới 10 trên tổng số 11 kết quả

Đề tài: Crystal Report mặt định sẵn 10 dòng, làm sao thay đổi?

  1. #1
    Ngày gia nhập
    01 2011
    Nơi ở
    Định Quán - Đồng Nai
    Bài viết
    7

    Mặc định Crystal Report mặt định sẵn 10 dòng, làm sao thay đổi?

    Chào các bạn, các anh em đang làm phần mềm quản lý hóa đơn nhưng gặp 1 chúc rắc rối, mong các anh giải quyết dùm. Trong Crystal Report của C# em muốn khi chạy dữ liệu lên thì ở phần delital nó mặt định 10 dòng sẵn, cho dù không có dữ liệu. Các a giải quyết dùm em nha. Có hậu tạ.

  2. #2
    Ngày gia nhập
    08 2011
    Bài viết
    27

    Khi gán datasource cho report e thử dùng câu lệch "select top 10 ..." xem.

    cho dù không có dữ liệu.
    cái này để suy nghĩ đã
    Đã được chỉnh sửa lần cuối bởi HuyenTran2011 : 27-10-2011 lúc 08:10 AM.

  3. #3
    Ngày gia nhập
    05 2010
    Bài viết
    505

    Bên XTraReport của DevExpress có cái thuộc tính PrintOnEmptyDataSource quy định được số dòng trống muốn in, nhưng ko rõ bên Crystal report có không

  4. #4
    Ngày gia nhập
    01 2011
    Nơi ở
    Định Quán - Đồng Nai
    Bài viết
    7

    các a cố gắng giúp em nha, tại em đang làm một phần mềm đầu tay mà sếp yêu cầu. không làm được là sếp đủi em à.

    Đây là code em làm có csdl sẵn luôn, các anh chỉ dùm em nha em đang sử dụng Crytal report 10
    http://www.mediafire.com/?7wtapn7d0w1hh32
    Đã được chỉnh sửa lần cuối bởi macdonavn2010 : 27-10-2011 lúc 02:19 PM.

  5. #5
    Ngày gia nhập
    10 2010
    Nơi ở
    HUI
    Bài viết
    211

    Trích dẫn Nguyên bản được gửi bởi macdonavn2010 Xem bài viết
    Chào các bạn, các anh em đang làm phần mềm quản lý hóa đơn nhưng gặp 1 chúc rắc rối, mong các anh giải quyết dùm. Trong Crystal Report của C# em muốn khi chạy dữ liệu lên thì ở phần delital nó mặt định 10 dòng sẵn, cho dù không có dữ liệu. Các a giải quyết dùm em nha. Có hậu tạ.
    Bạn tạo một dataset để lưu các thông tin trong report
    Sau đó add các dòng vào dataset. Nếu các dòng dưới datatable của bạn mà ít hơn 10 thì bạn dùng một vòng for để add vào với các trường dữ liệu để là trắng.
    Đây là code của mình. Mình đặt tới 20 dòng
    Visual C# Code:
    1. foreach (DataRow row in tblViewOrderItem.Rows)
    2.                 {
    3.                     double price = Convert.ToDouble(row["orderItemPrice"]);
    4.                     double itemTotal = Convert.ToDouble(row["orderItemTotal"]);
    5.                     report.tbl_order_report.Addtbl_order_reportRow(row["orderItemName"].ToString(),    row["orderItemUnit"].ToString(), row["orderItemQuantity"].ToString(), price.ToString("###,###"), Convert.ToDouble(row["orderItemTotal"]).ToString("###,###"), logo);
    6.                 }
    7.                 if (tblViewOrderItem.Rows.Count < 20)
    8.                 {
    9.                     for (int i = 0; i < 20 - tblViewOrderItem.Rows.Count; i++)
    10.                     {
    11.                         report.tbl_order_report.Addtbl_order_reportRow("  ", " ", " ", " ", " ", logo);
    12.                     }
    13.  
    14.                 }

  6. #6
    Ngày gia nhập
    01 2011
    Nơi ở
    Định Quán - Đồng Nai
    Bài viết
    7

    Mặc định Crystal Report mặt định sẵn 10 dòng, làm sao thay đổi?

    Chào bạn dotritiep
    Mình chưa hiểu cách của bạn lắm
    Có cách nào làm trực tiếp trên Crystal report 10 không bạn, chỉ mình với. Thanks
    Đã được chỉnh sửa lần cuối bởi macdonavn2010 : 28-10-2011 lúc 12:02 PM.

  7. #7
    Ngày gia nhập
    10 2010
    Nơi ở
    HUI
    Bài viết
    211

    Trích dẫn Nguyên bản được gửi bởi macdonavn2010 Xem bài viết
    Chào bạn dotritiep
    Mình chưa hiểu cách của bạn lắm, nhưng mình làm ở dạng SQL 2000 và Crystal report 10

    select cttc.SoDDH, cttc.NgayLapHD, kh.TenKH, kh.TenDonVi, kh.MaSoThue, kh.DiaChi, cttc.HinhThucThanhToan,
    kh.SoTaiKhoan, hh.TenHH, tc.DichVu, hh.DonViTinh, tc.SoLuongxuat, tc.Dogia1, tc.ThanhTien, cttc.ThueGTGT, cttc.Huy
    from KHACHHANG kh, HANGHOA hh, HoaDon tc, ChiTietHoaDon cttc
    where kh.MaKH=cttc.MaKH and cttc.SoDDH=tc.SoDDH and tc.MaHH=hh.MaHH and cttc.SoDDH={?SoHoaDon}

    - Bạn Chỉ kỷ hơn một chúc được không
    Bạn tạo một dataset bằng cách kich chuột phải vào project/add new item/Dataset - OK
    Sau đó bạn click chuột phải vào dataset/Add/ datatable
    Trong datatable đấy tạo các column giống với các column bạn định đưa vào report
    Tiếp theo thì bạn add dữ liệu vào Column đó
    Tiếp theo khai báo
    Visual C# Code:
    1.     Dataset1 report = new Dataset1 ();//Dataset1  là tên dataset vừa tạo
    2.  foreach (DataRow row in tbl.Rows) // tbl là table chứa dữ liệu của bạn. Duyệt từng dòng một và add vào dataset
    3.                 {
    4.                   report.tbl__report.Addtbl_reportRow("trong này chứa các cột cần add mà bạn tạo lúc nãy ở dataset");
    5.                 }
    6. // Sau đó bạn kiểm tra xem các dòng trong tbl đủ 10 dòng chưa
    7. // Nếu chưa đủ thì add tiếp vào dataset với dữ liệu là trắng
    8. //Dùng for như bên trên mình chỉ
    9. Tiếp theo gán datasoucre cho rpt
    10.   Report.OrderA4 rpt = new Report.OrderA4();//OrderA4  đây là report bạn thiết kế
    11.                 rpt.SetDataSource(report);

  8. #8
    Ngày gia nhập
    01 2011
    Nơi ở
    Định Quán - Đồng Nai
    Bài viết
    7

    Chào bạn dotritiep
    - bạn gửi cho mình 1 demo nha
    - Mình cảm ơn bạn nhiều.

  9. #9
    Ngày gia nhập
    10 2010
    Nơi ở
    HUI
    Bài viết
    211

    Mặc định Crystal Report mặt định sẵn 10 dòng

    Demo cho bạn đây.
    Attached Files Attached Files

  10. #10
    Ngày gia nhập
    08 2011
    Bài viết
    27

    Mặc định Có thể giải quyết trước mắt như sau

    1. Thiết kế lại CSDL:
    Bạn tạo thêm một table đặt tên là tableReport_HoaDon, trong đó ngoài các trường cần thiết cho report hóa đơn ta tạo thêm một cột idHoaDon để thuộc tính autonumber kiểu dữ liệu int. Table này sẽ là nguồn dữ liệu cho report hóa đơn.

    2. Khi user ra lệnh in hóa đơn đã được chọn, thực hiện lệnh SQL để update dữ liệu cần thiết lên table trên (lưu ý nhớ xóa dữ liệu cũ trước khi update nhé)

    3. Connect xuống database, lấy dữ liệu của tableReport_HoaDon để gán cho report, kiểm tra qua thuộc tính count xem có >=10 record không? nếu chưa đủ 10 dòng thì

    while (số dòng<10)
    ==> thực hiện lệnh insert vào bảng trên với các dữ liệu null

    4. Gán lại datasource cho report.


    Đây không phải là tối ưu (hơi thủ công) nhưng ít nhất cũng không bị thằng sếp nó chửi thề
    Đã được chỉnh sửa lần cuối bởi HuyenTran2011 : 30-10-2011 lúc 02:28 PM.

Các đề tài tương tự

  1. Tạo Crystal report với số cột và tên cột không được định sẵn
    Gửi bởi leminh_005 trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 4
    Bài viết cuối: 11-11-2011, 12:02 PM
  2. Algorithm Tạo Crystal Report in từ các dòng đang hiển thị trên DatagridView
    Gửi bởi mastercanit trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 0
    Bài viết cuối: 16-08-2011, 11:42 AM
  3. Crystal report bắt log on mỗi lần thay đổi
    Gửi bởi nguyenviettho trong diễn đàn Thắc mắc lập trình ASP.NET
    Trả lời: 16
    Bài viết cuối: 10-08-2011, 04:54 PM
  4. Làm sao để sử dụng Crytal Report ở máy ko cài sẵn Crystal report
    Gửi bởi tambeotb4 trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 7
    Bài viết cuối: 31-12-2010, 08:04 AM
  5. Giới hạn số dòng trên một trang của Crystal Report
    Gửi bởi sdonku trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 0
    Bài viết cuối: 15-12-2010, 04:24 PM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn