private void grid2us_object(US_RPT_CHI_PHI_THEO_PHAP_NHAN 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 us_object2grid(US_RPT_CHI_PHI_THEO_PHAP_NHAN 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 delete_rpt_chi_phi_theo_phap_nhan()
 {
     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_CHI_PHI_THEO_PHAP_NHAN v_us = new US_RPT_CHI_PHI_THEO_PHAP_NHAN();
     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();
     }
 }