private DataTable XuLyBaoCao()
        {
            DataSet   ds            = oBNS_GiaoVien.GetBaoCaoChatLuongDoiNguGiaoVien((DateTime)dtpDenNgay.EditValue);
            DataTable dtNganhDaoTao = ds.Tables[0];

            if (dtNganhDaoTao.Rows.Count <= 0)
            {
                ThongBao("Không có dữ liệu về ngành đào tạo");
                return(null);
            }

            int STT = 0;

            foreach (DataRow dr in dtNganhDaoTao.Rows)
            {
                if (int.Parse(dr["ParentNganhDaoTaoID"].ToString()) == 0)
                {
                    STT = 0;
                }
                else
                {
                    STT++;
                    dr["STT"] = STT;
                }
            }
            DataRow drNew = dtNganhDaoTao.NewRow();

            drNew["TenNganhDaoTao"] = "Cộng";
            dtNganhDaoTao.Rows.Add(drNew);

            CreateTable(ref dtNganhDaoTao);

            DataTable dtTemp, dt = ds.Tables[1];

            if (dt.Rows.Count <= 0)
            {
                ThongBao("Không có thông tin Giáo viên về ngành đào tạo !");
                return(null);
            }

            DataView dv;
            DataRow  _dr;

            for (int i = 0; i < dtNganhDaoTao.Rows.Count - 1; i++)
            {
                _dr = dtNganhDaoTao.Rows[i];
                if (int.Parse(_dr["ParentNganhDaoTaoID"].ToString()) == 0)
                {
                    dv           = new DataView(dt);
                    dv.RowFilter = "ParentNganhDaoTaoID = " + _dr["IDNganhDaoTao"];
                    if (dv.Count > 0)
                    {
                        dtTemp = dv.ToTable();
                        SetItemValue(dtTemp, ref _dr);
                    }
                }
                else
                {
                    dv           = new DataView(dt);
                    dv.RowFilter = "IDNganhDaoTao = " + _dr["IDNganhDaoTao"];
                    if (dv.Count > 0)
                    {
                        dtTemp = dv.ToTable();
                        SetItemValue(dtTemp, ref _dr);
                    }
                }
            }

            _dr = dtNganhDaoTao.Rows[dtNganhDaoTao.Rows.Count - 1];
            SetItemValue(dt, ref _dr);

            return(dtNganhDaoTao);
        }