I am new to using template columns. I am just trying to create a data grid
with a bound column and another column with a imagebutton in it.
What I have always done in the past was to then create a datatable and bind
that to the datagrid.
Where is my code to bind the grid to the datatable.
DataTable dt = new DataTable();
dt.Columns.Add( "FundDescriptio n");
//dt.Columns.Add( "F");
PlanAssetCollec tion planAssets = PlanFactory.Get PlanAssets(1845 4);
foreach (PlanAsset planAsset in planAssets)
{
if (planAsset.Fund InfoLink != String.Empty)
{
DataRow dr = dt.NewRow();
dr["FundDescriptio n"] = planAsset.FundD escription;
//dr["F"] = "F";
dt.Rows.Add(dr) ;
}
}
dgInvestmentInf o.DataSource = dt;
dgInvestmentInf o.DataBind();
Hear is the asp code to create the template columns.
<asp:DataGrid id="dgInvestmen tInfo" runat="server"
AutoGenerateCol umns="False">
<Columns>
<asp:TemplateCo lumn HeaderText="Fun d Desc">
<ItemStyle HorizontalAlign ="Center"></ItemStyle>
<ItemTemplate >
<font size="4">
<%# DataBinder.Eval (Container.Data Item, "FundDescriptio n") %>
</font>
/ItemTemplate>
</asp:TemplateCol umn>
<asp:TemplateCo lumn HeaderText="F">
<ItemTemplate >
<asp:ImageButto n id="F" onclick="F_Clic k" runat="server"
ImageUrl="~imag es/signin.gif"></asp:ImageButton >
</ItemTemplate>
</asp:TemplateCol umn>
</Columns>
</asp:DataGrid>
I have also tried to add the CommandArgument to the asp:ImageButton
CommandArgument ='<%# DataBinder.Eval (Container.Data Item, "F") %>'
CommandName="F" to the asp code and then add the extra column to the
datatable. Didn't work.
This is the error I get when I run the code.
Error: Control '_ctl0_dgInvest mentInfo__ctl2_ btnDel' of type 'Button' must
be placed inside a form tag with runat=server.
at System.Web.UI.P age.VerifyRende ringInServerFor m(Control control)
at System.Web.UI.W ebControls.Butt on.AddAttribute sToRender(HtmlT extWriter
writer)
at System.Web.UI.W ebControls.WebC ontrol.RenderBe ginTag(HtmlText Writer
writer)
at System.Web.UI.W ebControls.WebC ontrol.Render(H tmlTextWriter writer)
at System.Web.UI.C ontrol.RenderCo ntrol(HtmlTextW riter writer)
at System.Web.UI.C ontrol.RenderCh ildren(HtmlText Writer writer)
at System.Web.UI.C ontrol.Render(H tmlTextWriter writer)
at System.Web.UI.W ebControls.WebC ontrol.RenderCo ntents(HtmlText Writer
writer)
at System.Web.UI.W ebControls.Tabl eCell.RenderCon tents(HtmlTextW riter
writer)
at System.Web.UI.W ebControls.WebC ontrol.Render(H tmlTextWriter writer)
at System.Web.UI.C ontrol.RenderCo ntrol(HtmlTextW riter writer)
at System.Web.UI.C ontrol.RenderCh ildren(HtmlText Writer writer)
at System.Web.UI.C ontrol.Render(H tmlTextWriter writer)
at System.Web.UI.W ebControls.WebC ontrol.RenderCo ntents(HtmlText Writer
writer)
at System.Web.UI.W ebControls.WebC ontrol.Render(H tmlTextWriter writer)
at System.Web.UI.C ontrol.RenderCo ntrol(HtmlTextW riter writer)
at System.Web.UI.W ebControls.Tabl e.RenderContent s(HtmlTextWrite r writer)
at System.Web.UI.W ebControls.WebC ontrol.Render(H tmlTextWriter writer)
at System.Web.UI.C ontrol.RenderCo ntrol(HtmlTextW riter writer)
at System.Web.UI.C ontrol.RenderCh ildren(HtmlText Writer writer)
at System.Web.UI.C ontrol.Render(H tmlTextWriter writer)
at System.Web.UI.W ebControls.WebC ontrol.RenderCo ntents(HtmlText Writer
writer)
at System.Web.UI.W ebControls.Base DataList.Render (HtmlTextWriter writer)
at System.Web.UI.C ontrol.RenderCo ntrol(HtmlTextW riter writer)
at System.Web.UI.C ontrol.RenderCh ildren(HtmlText Writer writer)
at System.Web.UI.C ontrol.Render(H tmlTextWriter writer)
at System.Web.UI.C ontrol.RenderCo ntrol(HtmlTextW riter writer)
at System.Web.UI.C ontrol.RenderCh ildren(HtmlText Writer writer)
at System.Web.UI.C ontrol.Render(H tmlTextWriter writer)
at System.Web.UI.W ebControls.WebC ontrol.RenderCo ntents(HtmlText Writer
writer)
at System.Web.UI.W ebControls.WebC ontrol.Render(H tmlTextWriter writer)
at System.Web.UI.C ontrol.RenderCo ntrol(HtmlTextW riter writer)
at System.Web.UI.C ontrol.RenderCh ildren(HtmlText Writer writer)
at System.Web.UI.C ontrol.Render(H tmlTextWriter writer)
at System.Web.UI.C ontrol.RenderCo ntrol(HtmlTextW riter writer)
at System.Web.UI.P age.ProcessRequ estMain()
Now if I just add another bound coulmn to the grid I can get it to work
fine. It just seems to be when I add a imagebutton or any type of button
for that matter.
TIA,
Brett