private void load_data_to_grid(decimal ip_id_quyet_dinh, decimal ip_id_loai_nhiem_vu = -1,
            decimal ip_id_cong_trinh = -1, decimal ip_id_du_an = -1)
        {
            var v_dat_now = DateTime.Now;
            //0. Chuan bi du lieu input
            if (ip_id_quyet_dinh != -1)
            {
                US_DM_QUYET_DINH v_us_qd = new US_DM_QUYET_DINH(ip_id_quyet_dinh);
                v_dat_now = v_us_qd.datNGAY_THANG;
            }
            DateTime v_dat_dau_nam = v_dat_now.AddDays(-v_dat_now.Day + 1);
            v_dat_dau_nam = v_dat_dau_nam.AddMonths(-v_dat_dau_nam.Month + 1);
            DateTime v_dat_cuoi_nam = v_dat_dau_nam.AddYears(1);

            //1. Update noi dung chi tu Giao kh sang Giao von
            US_GD_CHI_TIET_GIAO_VON v_us_giao_von = new US_GD_CHI_TIET_GIAO_VON();
            v_us_giao_von.update_noi_dung_chi_from_giao_kh_sang_giao_von(v_dat_dau_nam,
                v_dat_cuoi_nam, CIPConvert.ToDecimal( m_ddl_don_vi.SelectedValue), ip_id_quyet_dinh);

            //2. Load data tu grid_giao_von len luoi de sua thong tin
            DS_GRID_GIAO_VON v_ds = new DS_GRID_GIAO_VON();
            US_GRID_GIAO_VON v_us = new US_GRID_GIAO_VON();

            v_us.get_grid_giao_von_qbt(v_ds, ip_id_quyet_dinh,
                CIPConvert.ToDecimal(m_ddl_don_vi.SelectedValue), v_dat_dau_nam, v_dat_cuoi_nam,
                ip_id_loai_nhiem_vu, ip_id_cong_trinh, ip_id_du_an);

            m_grv.DataSource = v_ds.Tables[0];
            m_grv.DataBind();

            //if (!m_hdf_id_giao_kh.Value.Equals(""))
            //{
            //	m_grv.SelectedIndex = -1;
            //	for (int i = 0; i < m_grv.Rows.Count; i++)
            //		if (CIPConvert.ToDecimal(m_grv.DataKeys[i].Value) == CIPConvert.ToDecimal(m_hdf_id_giao_kh.Value)) m_grv.SelectedIndex = i;
            //}
        }
        private void load_data_to_grid(decimal ip_id_quyet_dinh, decimal ip_id_loai_nhiem_vu = -1,
            decimal ip_id_cong_trinh = -1, decimal ip_id_du_an = -1)
        {
            if (!CValidateTextBox.IsValid(m_txt_ngay_thang, DataType.DateType, allowNull.NO))
            {
                m_lbl_mess_qd.Text = "Bạn phải nhập ngày tháng (dd/MM/yyyy)";
                return;
            }
            var v_dat_now = CIPConvert.ToDatetime(m_txt_ngay_thang.Text.Trim(), "dd/MM/yyyy"); ;
            //0. Chuan bi du lieu input
            if (ip_id_quyet_dinh != -1)
            {
                US_DM_QUYET_DINH v_us_qd = new US_DM_QUYET_DINH(ip_id_quyet_dinh);
                v_dat_now = v_us_qd.datNGAY_THANG;
            }
            DateTime v_dat_dau_nam = v_dat_now.AddDays(-v_dat_now.Day + 1);
            v_dat_dau_nam = v_dat_dau_nam.AddMonths(-v_dat_dau_nam.Month + 1);
            DateTime v_dat_cuoi_nam = v_dat_dau_nam.AddYears(1);

            //1. Update noi dung chi tu Giao kh sang Giao von
            US_GD_KHOI_LUONG v_us_khoi_luong = new US_GD_KHOI_LUONG();
            v_us_khoi_luong.update_noi_dung_chi_from_giao_kh_sang_khoi_luong(
                v_dat_dau_nam
                , v_dat_cuoi_nam
                , v_dat_now
                , CIPConvert.ToDecimal(m_ddl_don_vi.SelectedValue));

            //2. Load data tu grid_giao_von len luoi de sua thong tin
            DS_GRID_GIAO_VON v_ds = new DS_GRID_GIAO_VON();
            US_GRID_GIAO_VON v_us = new US_GRID_GIAO_VON();

            v_us.get_grid_khoi_luong(v_ds
                , CIPConvert.ToDecimal(m_ddl_don_vi.SelectedValue)
                , v_dat_now
                , CIPConvert.ToDecimal(m_ddl_loai_nhiem_vu.SelectedValue));

            m_grv.DataSource = v_ds.Tables[0];
            m_grv.DataBind();

            if (!m_hdf_id_giao_kh.Value.Equals(""))
            {
                m_grv.SelectedIndex = -1;
                for (int i = 0; i < m_grv.Rows.Count; i++)
                    if (CIPConvert.ToDecimal(m_grv.DataKeys[i].Value) == CIPConvert.ToDecimal(m_hdf_id_giao_kh.Value)) m_grv.SelectedIndex = i;
            }
        }