1. Trang chủ
  2. » Tất cả

LAB: TÌM KIẾM HÓA ĐƠN

10 1 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Tìm kiếm hóa đơn
Thể loại Laboratory exercise
Định dạng
Số trang 10
Dung lượng 242,5 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

LAB TÌM KIẾM HÓA ĐƠN LAB 4 TÌM KIẾM HÓA ĐƠN MÔ TẢ Ứng dụng cho phép tìm kiếm các hóa đơn với điều kiện lọc phức tạp, được mô tả như sau  Chọn thành phố > danh sách khách hàng thay đổi theo thành phố[.]

Trang 1

LAB 4: TÌM KIẾM HÓA ĐƠN

MÔ TẢ

Ứng dụng cho phép tìm kiếm các hóa đơn với điều kiện lọc phức tạp, được mô tả như sau:

 Chọn thành phố -> danh sách khách hàng thay đổi theo thành phố được chọn

 Chọn khách hàng -> danh sách hóa đơn thay đổi theo khách hàng được chọn

 Chọn hóa đơn -> danh sách các mặt hàng thay đổi theo hóa đơn được chọn Và số lượng khách hàng, hóa đơn và mặt hàng cũng được thay đổi theo

Trang 2

MỤC TIÊU

 Nâng cao khả năng truy vấn dữ liệu

 Nắm vững kỹ thuật tương tác giữa các control trên form dữ vào các sự kiện

CÁC BƯỚC THỰC HIỆN

Bước 1: Thiết kế giao diện

Tạo 1 UserControl (đặt tên là TimKiemHoaDonUserControl) có giao diện như sau

Trang 3

 Các thành phần giao diện

Trang 4

txtSoMH TextBox Anchor=Bottom,Right

 Các cột trên ô lưới hóa đơn

 Các cột trên ô lưới chi tiết hóa đơn

Bước 2: viết code xử lý

 Thực hiện các bước theo hướng dẫn sau để viết code cho sự kiện

Trang 5

 Sau đây là toàn bộ mã C#

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Drawing;

using System.Data;

using System.Linq;

using System.Text;

using System.Windows.Forms;

using System.Data.SqlClient;

namespace QuanLyBanHang

{

public partial class TimKiemHoaDonUserControl : UserControl

{

public TimKiemHoaDonUserControl()

{

InitializeComponent();

}

// Tải danh sách thành phố vào cboThanhPho

void LoadThanhPho()

Phải chuột lên form

Chọn UserControl

Nhấp đúp vào sự kiện load

Trang 6

{

// Xây dựng câu lệnh SELECT

String sqlThanhPho = "SELECT * FROM ThanhPho ORDER BY TenThanhPho";

// Dưa dữ liệu trong DataTable lên ComboBox

cboThanhPho.DataSource = DataProvider.TruyVan_LayDuLieu(sqlThanhPho);

cboThanhPho.DisplayMember = "TenThanhPho"; // cột dùng để hiển thị

cboThanhPho.ValueMember = "ThanhPho"; // cột dùng để lập trình

}

// Tải danh sách khách hàng của thành phố (cboThanhPho) vào cboKhachHang

void LoadKhachHang()

{

String sqlKhachHang = "SELECT * FROM KhachHang WHERE ThanhPho=" + cboThanhPho.SelectedValue + "ORDER BY TenCty"; DataTable tableKhachHang = DataProvider.TruyVan_LayDuLieu(sqlKhachHang);

cboKhachHang.DataSource = tableKhachHang;

cboKhachHang.DisplayMember = "TenCty";

cboKhachHang.ValueMember = "MaKH";

DataGridViewComboBoxColumn cboMaKH = dgvHD.Columns["MaKH"] as DataGridViewComboBoxColumn;

cboMaKH.DataSource = tableKhachHang;

cboMaKH.DisplayMember = "TenCty";

cboMaKH.ValueMember = "MaKH";

}

// Tải danh sách hóa đơn của khách hàng (cboKhachHang) vào danh ô lưới hóa đơn (dgvHD)

void LoadHoaDon()

{

String sqlDonHang = string.Format( "SELECT * FROM HoaDon WHERE MaKH='{0}'", cboKhachHang.SelectedValue);

dgvHD.DataSource = DataProvider.TruyVan_LayDuLieu(sqlDonHang);

}

// Tải danh sách các mặt hàng của hóa đơn (dgvHD) vào ô lưới chi tiết hóa đơn (dgvCTHD)

void LoadChiTietHoaDon()

{

Trang 7

if (dgvHD.SelectedRows.Count > 0)

{

String sqlChiTietDonHang = string.Format( "SELECT * FROM ChiTietHoaDon WHERE MaHD={0}" , dgvHD.SelectedRows[0].Cells[0].Value.ToString());

dgvCTHD.DataSource = DataProvider.TruyVan_LayDuLieu(sqlChiTietDonHang);

txtSoKH.Text = cboKhachHang.Items.Count.ToString();

txtSoHD.Text = dgvHD.Rows.Count.ToString();

txtSoMH.Text = dgvCTHD.Rows.Count.ToString();

}

}

// Tải nhân viên vào ô ComboBox nhân viên trong DataGridView chứa hóa đơn (dgvHD)

void LoadNhanVien()

{

String sqlNhanVien = "SELECT * FROM NhanVien ORDER BY Ten";

DataGridViewComboBoxColumn cboMaNV = dgvHD.Columns["MaNV"] as DataGridViewComboBoxColumn; cboMaNV.DataSource = DataProvider.TruyVan_LayDuLieu(sqlNhanVien);

cboMaNV.ValueMember = "MaNV";

cboMaNV.DisplayMember = "Ten";

}

// Tải nhân viên vào ô ComboBox sản phẩm trong DataGridView chứa chi tiết hóa đơn (dgvCTHD)

void LoadSanPham()

{

String sqlSanPham = "SELECT * FROM SanPham ORDER BY TenSP";

DataGridViewComboBoxColumn cboMaSP = dgvCTHD.Columns["MaSP"]

as DataGridViewComboBoxColumn;

cboMaSP.DataSource = DataProvider.TruyVan_LayDuLieu(sqlSanPham);

cboMaSP.ValueMember = "MaSP";

cboMaSP.DisplayMember = "TenSP";

}

// Sự kiện chạy sau khi Form khởi động

private void TimKiemHoaDonUserControl_Load(object sender, EventArgs e)

{

this.LoadThanhPho();

Trang 8

this.LoadKhachHang();

this.LoadNhanVien();

this.LoadHoaDon();

this.LoadSanPham();

this.LoadChiTietHoaDon();

// Đăng ký xử lý sự kiện khi chọn thành phố

cboThanhPho.SelectedIndexChanged += new EventHandler(cboThanhPho_SelectedIndexChanged); // Đăng ký xử lý sự kiện khi chọn khách hàng

cboKhachHang.SelectedIndexChanged += new EventHandler(cboKhachHang_SelectedIndexChanged); // Đăng ký xử lý sự kiện khi chọn hóa đơn

dgvHD.RowEnter += new DataGridViewCellEventHandler(dgvDH_RowEnter);

}

// Sự kiện xảy ra khi bấm chọn hàng trên DataGridView chứa danh sách hóa đơn

void dgvDH_RowEnter(object sender, DataGridViewCellEventArgs e)

{

this.LoadChiTietHoaDon(); // Tải lại chi tiết hóa đơn

}

// Sự kiện xảy ra khi chọn mục trên ComboBox chứa danh sách khách hàng

void cboKhachHang_SelectedIndexChanged(object sender, EventArgs e)

{

this.LoadHoaDon(); // Tải lại d/s hóa đơn

}

// Sự kiện xảy ra khi chọn mục trên ComboBox chứa danh sách thành phố

void cboThanhPho_SelectedIndexChanged(object sender, EventArgs e)

{

this.LoadKhachHang(); // tải lại d/s khách hàng

}

}

}

Bước 3: Sử dụng TimKiemHoaDonUserControl

Tạo form và kéo TimKiemHoaDonUserControl từ thanh công cụ

Trang 9

Đặt thuộc tính Dock=Fill cho user control để nó điền đầy không gian form

Bước 4: Chạy và kiểm tra kết quả

Chỉnh sửa form khởi động trong Program.cs để chạy thử form chương trình

Ngày đăng: 24/11/2022, 22:20

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w