adding controls at runtime

K

kalaivanan

hi,
i am trying to add a datagrid control to a web page dynamically.
i am able to do it while i used the following code in the page load
event of the form in which i am going to add the control.

DataGrid dG = new DataGrid();
Control frm = FindControl("frmSnAInformation");
frm.Controls.Add(dG);
DataSet ds = nam_Db.dbFunctions.funFetchDataSet("fetchSuInfo_all");
dG.DataSource = ds.Tables[0];
dG.DataBind();


since i need to do the same process for many forms i have written the
code in a class file and call the function when needed. also i am
passing the form name as parameter. the class file function is as
follows:

public void funGrid(string frmNam)
{
DataGrid dG = new DataGrid();
Control frm = FindControl(frmANam);
frm.Controls.Add(dG);
DataSet ds = nam_Db.dbFunctions.funFetchDataSet("fetchSuInfo_all");
dG.DataSource = ds.Tables[0];
dG.DataBind();
}
but when i try to add control i am getting the following error:

System.NullReferenceException: Object reference not set to an instance
of an object.

at the line: frm.Controls.Add(dG);


what could be the reason and the work around for this problem.

regards,
kalaivanan
 
K

kalaivanan

hi,
i am trying to add a datagrid control to a web page dynamically.
i am able to do it while i used the following code in the page load
event of the form in which i am going to add the control.

DataGrid dG = new DataGrid();
Control frm = FindControl("frmSnAInformation");
frm.Controls.Add(dG);
DataSet ds = nam_Db.dbFunctions.funFetchDataSet("fetchSuInfo_all");
dG.DataSource = ds.Tables[0];
dG.DataBind();

since i need to do the same process for many forms i have written the
code in a class file and call the function when needed. also i am
passing the form name as parameter. the class file function is as
follows:

public void funGrid(string frmNam)
{
DataGrid dG = new DataGrid();
Control frm = FindControl(frmANam);
frm.Controls.Add(dG);
DataSet ds = nam_Db.dbFunctions.funFetchDataSet("fetchSuInfo_all");
dG.DataSource = ds.Tables[0];
dG.DataBind();}

but when i try to add control i am getting the following error:

System.NullReferenceException: Object reference not set to an instance
of an object.

at the line: frm.Controls.Add(dG);

what could be the reason and the work around for this problem.

regards,
kalaivanan

since the code is executed in the class file the frm is assigned null.

Control frm = FindControl(frmANam);

hence i added one more parameter to the function.

public void funGrid(string frmANam, System.Web.UI.Page pg)
{
DataGrid dG = new DataGrid();
Control frm = pg.FindControl(frmANam);
frm.Controls.Add(dG);

DataSet ds = nam_Db.dbFunctions.funFetchDataSet("fetchSuInfo_all");
dG.DataSource = ds.Tables[0];
dG.DataBind();
}

I passed 'this' keyword as the second argument from the form in which
i call this funtion.
now 'frm' is not null and working too.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,769
Messages
2,569,580
Members
45,055
Latest member
SlimSparkKetoACVReview

Latest Threads

Top