private void btnPhanBoChiTiet_Click(object sender, EventArgs e) { if (IDKQHT_ChuongTrinhDaoTao > 0) { Lib.clsExportToWord cls = new Lib.clsExportToWord(); try { DataTable dt = oBXL_MonHocTrongKy.GetMonKyToanKhoaByLop(IDDM_Lop); if (dt.Rows.Count > 0) { CreateWaitDialog("Xuất dữ liệu", "Đang xuất dữ liệu ra file"); try { Microsoft.Office.Interop.Word.ApplicationClass WordApp = new Microsoft.Office.Interop.Word.ApplicationClass(); Microsoft.Office.Interop.Word.Document aDoc = null; cls.InitWord(WordApp, ref aDoc, 13); DataTable dtNamKy = new Lib.clsDataTableHelper().SelectDistinct(dt, new string[] { "TenNamHoc", "HocKy" }); foreach (DataRow dr in dtNamKy.Rows) { DataView dv = new DataView(dt); dv.RowFilter = "TenNamHoc = '" + dr["TenNamHoc"] + "' And HocKy = " + dr["HocKy"]; cls.AddText(aDoc, "\tCác môn học trong học kỳ " + dr["HocKy"] + " năm học " + dr["TenNamHoc"], 0, 0, Microsoft.Office.Interop.Word.WdParagraphAlignment.wdAlignParagraphLeft); cls.AddTable(aDoc, dv.ToTable(), new string[] { "Tên môn học", "Số học trình", "Số tiết", "Lý thuyết", "Thực hành" }, new string[] { "TenMonHoc", "SoHocTrinh", "SoTiet", "LyThuyet", "ThucHanh" }); cls.AddText(aDoc, "", 0, 0, Microsoft.Office.Interop.Word.WdParagraphAlignment.wdAlignParagraphLeft); } WordApp.Visible = true; CloseWaitDialog(); } catch (Exception ex) { CloseWaitDialog(); ThongBaoLoi("File word đang được mở. Đề nghị đóng file này trước khi xuất dữ liệu! Thông báo lỗi: " + ex.Message); return; } } else { ThongBao("Lớp này chưa được phân bổ các môn trong kỳ."); } } catch (Exception ex) { ThongBaoLoi("Có lỗi xảy ra: " + ex.Message); } } else { ThongBao("Lớp này chưa có chương trình đào tạo"); } }