ENTER CHI TIẾT
1. Proc enter chi tiết
Trường hợp, không đặt được enter chi tiết, thì viết lệnh proc để enter
proc lấy điều kiện + enter ra 1 báo cáo chi tiết
// Some code
public void DMain(DataRow drDuLieuBaoCao, int rowindex, int columnindex, _DataGridView dtgDLReport, FOR0025 formBaoCao)
{
try
{
string wherethem = "", dkreport = "";
DataView dvrp = dtgDLReport.DataSource as DataView;
if(dvrp == null || dvrp.Count == 0)
return;
#region: Lấy báo cáo enter và điều kiện enter
DataRow drReport = formBaoCao.txtReport.CurrentRow;
wherethem = drReport["DieuKienEnterBC"].ToString();
int ReportEnter = 0;
ReportEnter = Convert.ToInt32(drReport["reportEnter"].ToString());
#endregion: Lấy báo cáo enter và điều kiện enter
dkreport = formBaoCao.CreateWhereCondition(true);
if(!string.IsNullOrWhiteSpace(wherethem))
{
wherethem = _Func.FormatStringValue(wherethem, drDuLieuBaoCao, true);
if(!string.IsNullOrWhiteSpace(dkreport))
dkreport += " and ("+ wherethem+")";
}
if(dtgDLReport.gridView1.Columns[columnindex].Name.Contains("PhongBan_"))
{
dkreport += (string.IsNullOrWhiteSpace(dkreport)?"": " and phongban="+ dtgDLReport.gridView1.Columns[columnindex].Name.ToString().Split('_')[1].ToString());
wherethem += (string.IsNullOrWhiteSpace(dkreport)?"": " and phongban="+ dtgDLReport.gridView1.Columns[columnindex].Name.ToString().Split('_')[1].ToString());
}
if(!formBaoCao.cheKhongHien.Checked)
_Func.TextEditer(dkreport);
if(ReportEnter>0)//chi tiêt ra báo cáo
{
dynamic fbc = formBaoCao.OpenForm("FOR0026");
fbc.dkEnterChiTiet = dkreport;
if(!formBaoCao.cheKhongHien.Checked)
_Func.TextEditer(fbc.dkEnterChiTiet);
((dynamic)fbc).LoadReportAll(formBaoCao, false, ReportEnter, wherethem);
fbc.form25 = formBaoCao;
fbc.Text = "[BC enter] "+ _Func.DBEXEC("select " + _Vari.Language +" from report where report="+ReportEnter, true).ToString();
fbc.ShowDialog();
}
}
catch(Exception ex)
{
MessageBox.Show(ex.Message);
}
}
Last updated