private void us_object2grid(US_RPT_CO_SO_DINH_MUC i_us
     , int i_grid_row)
 {
     DataRow v_dr = (DataRow) m_fg.Rows[i_grid_row].UserData;
     i_us.Me2DataRow(v_dr);
     m_obj_trans.DataRow2GridRow(v_dr, i_grid_row);
 }
 private void grid2us_object(US_RPT_CO_SO_DINH_MUC i_us
     , int i_grid_row)
 {
     DataRow v_dr;
     v_dr = (DataRow) m_fg.Rows[i_grid_row].UserData;
     m_obj_trans.GridRow2DataRow(i_grid_row,v_dr);
     i_us.DataRow2Me(v_dr);
 }
 private void load_data_2_grid()
 {
     DS_RPT_CO_SO_DINH_MUC v_ds_rpt_co_so_dinh_muc = new DS_RPT_CO_SO_DINH_MUC();
     US_RPT_CO_SO_DINH_MUC v_us_rpt_co_so_dinh_muc = new US_RPT_CO_SO_DINH_MUC();
     string str_temp = m_dat_ap_dung_tu_ngay.Value.ToString();
     str_temp = str_temp.Substring(0, str_temp.IndexOf(" "));
     v_us_rpt_co_so_dinh_muc.FillDatasetByProc(v_ds_rpt_co_so_dinh_muc, CIPConvert.ToDecimal(m_cbo_loai_dinh_muc.SelectedValue), CIPConvert.ToDatetime(str_temp));
     CGridUtils.MakeSoTT(0, m_fg);
     m_fg.Redraw = false;
     CGridUtils.Dataset2C1Grid(v_ds_rpt_co_so_dinh_muc, m_fg, m_obj_trans);
     m_fg.Redraw = true;
 }
 private void delete_rpt_co_so_dinh_muc()
 {
     if (!CGridUtils.IsThere_Any_NonFixed_Row(m_fg)) return;
     if (!CGridUtils.isValid_NonFixed_RowIndex(m_fg, m_fg.Row)) return;
     if (BaseMessages.askUser_DataCouldBeDeleted(8) != BaseMessages.IsDataCouldBeDeleted.CouldBeDeleted)  return;
     US_RPT_CO_SO_DINH_MUC v_us = new US_RPT_CO_SO_DINH_MUC();
     grid2us_object(v_us, m_fg.Row);
     try {
         v_us.BeginTransaction();
         v_us.Delete();
         v_us.CommitTransaction();
         m_fg.Rows.Remove(m_fg.Row);
     }
     catch (Exception v_e) {
         v_us.Rollback();
         CDBExceptionHandler v_objErrHandler = new CDBExceptionHandler(v_e,
             new CDBClientDBExceptionInterpret());
         v_objErrHandler.showErrorMessage();
     }
 }