[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

kalaivanan

2/7/2007 7:18:00 AM

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

1 Answer

kalaivanan

2/7/2007 10:04:00 AM

0

On Feb 6, 11:18 pm, "kalaivanan" <mail2ka...@gmail.com> wrote:
> 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.