Posted 12 November 2019, 10:38 pm EST
Hello Shelza,
Please create the instance of SectionRpt in “groupHeader1_Format” event instead of “MainRpt_ReportStart” like as follow:
private void groupHeader1_Format(object sender, EventArgs e)
{
sectionReport = new SectionRpt();
string filter = "RollNo = '" + this.Fields["RollNo"].Value.ToString() + "'";
DataTable dtv = dt.Select(filter, "").CopyToDataTable();
subReport1.Visible = false;
subReport1.Report = sectionReport;
if (dtv.Rows.Count > 0)
{
//Adding column dynamically
if (dtv.Rows[0]["RollNo"].ToString() == "2")
{
dtv.Columns.Add("Sub3");
dtv.Rows[0]["Sub3"] = "Computers";
}
sectionReport.DataSource = dtv;
subReport1.Visible = true;
}
}
private void MainRpt_ReportStart(object sender, EventArgs e)
{
label1.DataField = "StName";
dt.Columns.Add("RollNo");
dt.Columns.Add("StName");
dt.Columns.Add("Grade");
dt.Columns.Add("Sub1");
dt.Columns.Add("Sub2");
dt.Rows.Add(1, "TestStudent1", "1", "Maths", "Science");
dt.Rows.Add(2, "TestStudent2", "2", "Drawing", "Science");
dt.Rows.Add(3, "TestStudent3", "3", "Maths", "Computers");
DataSource = dt;
groupHeader1.DataField = "RollNo";
}
Thanks,