public US_V_RPT_BAO_CAO_TINH_HINH_DI_HOC(decimal i_dbID)
 {
     pm_objDS = new DS_V_RPT_BAO_CAO_TINH_HINH_DI_HOC();
     pm_strTableName = c_TableName;
     IMakeSelectCmd v_objMkCmd = new CMakeAndSelectCmd(pm_objDS, c_TableName);
     v_objMkCmd.AddCondition("ID", i_dbID, eKieuDuLieu.KieuNumber, eKieuSoSanh.Bang);
     SqlCommand v_cmdSQL;
     v_cmdSQL = v_objMkCmd.getSelectCmd();
     this.FillDatasetByCommand(pm_objDS, v_cmdSQL);
     pm_objDR = getRowClone(pm_objDS.Tables[pm_strTableName].Rows[0]);
 }
 public US_V_RPT_BAO_CAO_TINH_HINH_DI_HOC()
 {
     pm_objDS = new DS_V_RPT_BAO_CAO_TINH_HINH_DI_HOC();
     pm_strTableName = c_TableName;
     pm_objDR = pm_objDS.Tables[pm_strTableName].NewRow();
 }
        private void load_data_2_grid()
        {
            m_ds.Clear();
            m_ds.EnforceConstraints = false;

            m_ds = new DS_V_RPT_BAO_CAO_TINH_HINH_DI_HOC();

            m_us.FillDataset(m_ds, m_dat_tu_ngay.Value
                                , m_dat_den_ngay.Value
                                , CIPConvert.ToDecimal(m_cbo_lop_mon.SelectedValue)
                                , m_txt_tim_kien.Text.Trim());

            m_fg.Redraw = false;
            CGridUtils.Dataset2C1Grid(m_ds, m_fg, m_obj_trans);

            m_fg.Redraw = true;
            CGridUtils.MakeSoTT(0, m_fg);
            load_cot_dong_tung_ngay_hoc(m_ds);
        }
        public void FillDataset(DS_V_RPT_BAO_CAO_TINH_HINH_DI_HOC ip_op_ds
            , DateTime ip_dat_tu_ngay
            , DateTime ip_dat_den_ngay
            , decimal ip_dc_id_lop_mon
            , string ip_str_tim_kiem)
        {
            CStoredProc v_obj = new CStoredProc("f440_bao_cao_diem_danh_theo_lop_mon");
            v_obj.addDecimalInputParam("@ip_dc_id_lop_mon", ip_dc_id_lop_mon);
            v_obj.addDatetimeInputParam("@ip_dat_tu_ngay", ip_dat_tu_ngay);
            v_obj.addDatetimeInputParam("@ip_dat_den_ngay", ip_dat_den_ngay);
            v_obj.addNVarcharInputParam("@ip_str_search", ip_str_tim_kiem);

            v_obj.fillDataSetByCommand(this, ip_op_ds);
        }
        private void load_cot_dong_tung_ngay_hoc(DS_V_RPT_BAO_CAO_TINH_HINH_DI_HOC ip_ds_rpt)
        {
            //Buoc 0: Xoa cot dong
            if (m_fg.Cols.Count > 6)
            {
                int v_tong_so_cot = m_fg.Cols.Count;
                for (int i = 6; i < v_tong_so_cot; i++)
                {
                    m_fg.Cols.Remove(m_fg.Cols.Count - 1);
                }
            }

            //Buoc 1: Lay du lieu cac ban ghi trong GD_HOC do len Dataset
            DataSet v_ds_gd_hoc = new DataSet();
            v_ds_gd_hoc.Tables.Add();
            US_V_RPT_BAO_CAO_TINH_HINH_DI_HOC v_us_gd_hoc = new US_V_RPT_BAO_CAO_TINH_HINH_DI_HOC();
            v_us_gd_hoc.FillDuLieuDiemDanh(v_ds_gd_hoc
                                        , m_dat_tu_ngay.Value
                                        , m_dat_den_ngay.Value
                                        , CIPConvert.ToDecimal(m_cbo_lop_mon.SelectedValue));
            DataView v_dv = v_ds_gd_hoc.Tables[0].DefaultView;

            //Buoc 2:Insert cac ngay hoc cua lop do
            //Buoc 2.1: Lay du lieu cac ngay hoc
            DataSet v_ds_ngay_hoc = new DataSet();
            v_ds_ngay_hoc.Tables.Add();
            US_V_RPT_BAO_CAO_TINH_HINH_DI_HOC v_us_ngay_hoc = new US_V_RPT_BAO_CAO_TINH_HINH_DI_HOC();
            v_us_ngay_hoc.FillDuLieuNgayHoc(v_ds_ngay_hoc
                                            , m_dat_tu_ngay.Value
                                            , m_dat_den_ngay.Value
                                            , CIPConvert.ToDecimal(m_cbo_lop_mon.SelectedValue));
            //Buoc 2.2: Insert cac cot vao grid
            int v_count_col_grid = m_fg.Cols.Count;
            for (int i = 0; i < v_ds_ngay_hoc.Tables[0].Rows.Count; i++)//For tren cac ngay hoc
            {
                m_fg.Cols.Insert(v_count_col_grid);
                DateTime v_dat = CIPConvert.ToDatetime(v_ds_ngay_hoc.Tables[0].Rows[i][0].ToString().Substring(0, 10));
                m_fg.Cols[v_count_col_grid].Caption = v_ds_ngay_hoc.Tables[0].Rows[i][0].ToString().Substring(0, 10);
                m_fg.Cols[v_count_col_grid].DataType = typeof(Boolean);

                for (int v_i_current_row = m_fg.Rows.Fixed; v_i_current_row < m_fg.Rows.Count; v_i_current_row++)
                {
                    US_V_RPT_BAO_CAO_TINH_HINH_DI_HOC v_us_di_hoc = new US_V_RPT_BAO_CAO_TINH_HINH_DI_HOC();
                    grid2us_object(v_us_di_hoc, v_i_current_row);
                    foreach (DataRow v_dr in v_ds_gd_hoc.Tables[0].Rows)
                    {
                        if (v_dr["NGAY_HOC"].ToString() == v_dat.ToString() && v_dr["ID_HOC_SINH"].ToString() == v_us_di_hoc.dcID_HOC_SINH.ToString())
                        {
                            m_fg.SetCellCheck(v_i_current_row, v_count_col_grid, CheckEnum.Checked);
                        }
                    }
                }
                v_count_col_grid++;
            }
        }