4. cboDocGia Combobox
5. lblNgayMuon Label Ngày mượn
6. dtNgayMuon DateTimePicker
7. btnCTPhieuMuon Button Chi tiết phiếu mượn
8. btnThem Button Thêm
9. btnXoa Button Xoá
10. btnCapNhat Button Cập nhật
{
PhieuMuon pm; DocGia dg; DataTable dt;
//khai báo biến để truyền qua form frmchitietphieumuon
string mapm; string madg; string tendg;
bool isAdded = true; public frmChoMuonSach() { InitializeComponent(); pm = new PhieuMuon(); dt = new DataTable(); dg = new DocGia(); }
private void frmChoMuonSach_Load(object sender, EventArgs e) {
HienThiDanhSach(); LayDSDocGia(); }
//thiết lập các nút trên form
public void setButton(bool value) { btnThem.Enabled = value; btnXoa.Enabled = value; btnSua.Enabled = value; btnLuu.Enabled = !value; btnHuy.Enabled = !value; btnCTPM.Enabled = value; btnThoat.Enabled = value; }
public void HienThiDanhSach() {
dt.Rows.Clear();
dt = pm.LayDSPhieuMuon(); lsvPhieuMuon.Items.Clear();
lsvPhieuMuon.View = View.Details;
for (int i = 0; i < dt.Rows.Count; i++) {
ListViewItem lvi;
lvi = lsvPhieuMuon.Items.Add(dt.Rows[i][0].ToString());
lvi.SubItems.Add(dt.Rows[i]["HoTenDocGia"].ToString()); lvi.SubItems.Add(String.Format("{0:MM/dd/yyyy}",dt.Rows[i]
["NgayMuon"].ToString())); }
}
public void LayDSDocGia() { DataTable dt_dg = dg.LayDSDocGia(); cboHoTen.DataSource = dt_dg; cboHoTen.DisplayMember = "HoTenDocGia"; cboHoTen.ValueMember = "MaDocGia"; if (cboHoTen.Items.Count > 0) cboHoTen.SelectedIndex = 0; 38
}
private void btnThem_Click(object sender, EventArgs e) {
isAdded = true; setButton(false); }
private void lsvPhieuMuon_SelectedIndexChanged(object sender, EventArgs e) { if (lsvPhieuMuon.SelectedIndices.Count > 0) { cboHoTen.SelectedIndex = cboHoTen.FindString(lsvPhieuMuon.SelectedItems[0].SubItems[1].Text); dtpNgayMuon.Value = DateTime.Parse(lsvPhieuMuon.SelectedItems[0].SubItems[2].Text); } }
private void btnCTPM_Click(object sender, EventArgs e) {
if (lsvPhieuMuon.SelectedIndices.Count > 0) {
//Lấy thông tin về Mã độc giả (madg), Mã phiếu mượn (mapm) và tên độc giả (tendg)
madg = cboHoTen.SelectedValue.ToString(); mapm = lsvPhieuMuon.SelectedItems[0].Text;
tendg = lsvPhieuMuon.SelectedItems[0].SubItems[1].Text; //và truyền qua form ChitietPhieuMuon
frmCTPhieuMuon frm = new frmCTPhieuMuon(mapm,madg,tendg); frm.Show();
} else
MessageBox.Show("Bạn phải chọn một phiếu mượn để nhập chi tiết"); }
private void btnXoa_Click(object sender, EventArgs e) {
if (lsvPhieuMuon.SelectedIndices.Count > 0) {
DialogResult dr = MessageBox.Show("Bạn có chắc xóa không?", "Xóa bằng cấp", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
if (dr == DialogResult.Yes) {
pm.XoaPM(lsvPhieuMuon.SelectedItems[0].SubItems[0].Text); lsvPhieuMuon.Items.RemoveAt(lsvPhieuMuon.SelectedIndices[0]); }
private void btnLuu_Click(object sender, EventArgs e) {
if (cboHoTen.SelectedIndex < 0) {
MessageBox.Show("Bạn hãy nhập thông tin họ tên", "Thiếu thông tin"); cboHoTen.Focus();
} else {
string ngaymuon = String.Format("{0:MM/dd/yyyy}", dtpNgayMuon.Value); string madg = cboHoTen.SelectedValue.ToString();
try {
if (isAdded) //là thêm mới
pm.ThemPM(cboHoTen.SelectedValue.ToString(), ngaymuon); else // là cập nhật
{
string mapm = lsvPhieuMuon.SelectedItems[0].SubItems[0].Text; pm.CapNhatPM(mapm, ngaymuon, madg);
}
HienThiDanhSach(); setButton(true);
MessageBox.Show("Thành công"); }
catch(DataException de) {
MessageBox.Show("Có lỗi khi lưu : " + de.ToString()); }
} }
private void btnHuy_Click(object sender, EventArgs e) {
setButton(true); }
private void btnThoat_Click(object sender, EventArgs e) {
Close(); }
private void btnThemDG_Click(object sender, EventArgs e) {
frmDocGia frm = new frmDocGia(); frm.Show();
} }
Giao diện FORM ChiTietPhieuMuon (frmChiTietPhieuMuon) như sau :
STT Tên Control Loại Tên hàm xử lý1 lsvSachNguon ListView