HighTechTalks DotNet Forums  

using template columns

ASP.net Data Grid Control microsoft.public.dotnet.framework.aspnet.datagridcontrol


Discuss using template columns in the ASP.net Data Grid Control forum.



Reply
 
Thread Tools Search this Thread Display Modes
  #1  
Old   
Brett Wesoloski
 
Posts: n/a

Default using template columns - 01-08-2007 , 10:45 AM






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("FundDescription");
//dt.Columns.Add("F");

PlanAssetCollection planAssets = PlanFactory.GetPlanAssets(18454);
foreach (PlanAsset planAsset in planAssets)
{
if (planAsset.FundInfoLink != String.Empty)
{
DataRow dr = dt.NewRow();
dr["FundDescription"] = planAsset.FundDescription;
//dr["F"] = "F";

dt.Rows.Add(dr);
}

}
dgInvestmentInfo.DataSource = dt;
dgInvestmentInfo.DataBind();


Hear is the asp code to create the template columns.



<aspataGrid id="dgInvestmentInfo" runat="server"
AutoGenerateColumns="False">
<Columns>
<asp:TemplateColumn HeaderText="Fund Desc">
<ItemStyle HorizontalAlign="Center"></ItemStyle>
<ItemTemplate>
<font size="4">
<%# DataBinder.Eval(Container.DataItem, "FundDescription") %>
</font>
/ItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText="F">
<ItemTemplate>
<asp:ImageButton id="F" onclick="F_Click" runat="server"
ImageUrl="~images/signin.gif"></asp:ImageButton>
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
</aspataGrid>

I have also tried to add the CommandArgument to the asp:ImageButton
CommandArgument='<%# DataBinder.Eval(Container.DataItem, "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_dgInvestmentInfo__ctl2_btnDel' of type 'Button' must
be placed inside a form tag with runat=server.


at System.Web.UI.Page.VerifyRenderingInServerForm(Con trol control)
at System.Web.UI.WebControls.Button.AddAttributesToRe nder(HtmlTextWriter
writer)
at System.Web.UI.WebControls.WebControl.RenderBeginTa g(HtmlTextWriter
writer)
at System.Web.UI.WebControls.WebControl.Render(HtmlTe xtWriter writer)
at System.Web.UI.Control.RenderControl(HtmlTextWriter writer)
at System.Web.UI.Control.RenderChildren(HtmlTextWrite r writer)
at System.Web.UI.Control.Render(HtmlTextWriter writer)
at System.Web.UI.WebControls.WebControl.RenderContent s(HtmlTextWriter
writer)
at System.Web.UI.WebControls.TableCell.RenderContents (HtmlTextWriter
writer)
at System.Web.UI.WebControls.WebControl.Render(HtmlTe xtWriter writer)
at System.Web.UI.Control.RenderControl(HtmlTextWriter writer)
at System.Web.UI.Control.RenderChildren(HtmlTextWrite r writer)
at System.Web.UI.Control.Render(HtmlTextWriter writer)
at System.Web.UI.WebControls.WebControl.RenderContent s(HtmlTextWriter
writer)
at System.Web.UI.WebControls.WebControl.Render(HtmlTe xtWriter writer)
at System.Web.UI.Control.RenderControl(HtmlTextWriter writer)
at System.Web.UI.WebControls.Table.RenderContents(Htm lTextWriter writer)
at System.Web.UI.WebControls.WebControl.Render(HtmlTe xtWriter writer)
at System.Web.UI.Control.RenderControl(HtmlTextWriter writer)
at System.Web.UI.Control.RenderChildren(HtmlTextWrite r writer)
at System.Web.UI.Control.Render(HtmlTextWriter writer)
at System.Web.UI.WebControls.WebControl.RenderContent s(HtmlTextWriter
writer)
at System.Web.UI.WebControls.BaseDataList.Render(Html TextWriter writer)
at System.Web.UI.Control.RenderControl(HtmlTextWriter writer)
at System.Web.UI.Control.RenderChildren(HtmlTextWrite r writer)
at System.Web.UI.Control.Render(HtmlTextWriter writer)
at System.Web.UI.Control.RenderControl(HtmlTextWriter writer)
at System.Web.UI.Control.RenderChildren(HtmlTextWrite r writer)
at System.Web.UI.Control.Render(HtmlTextWriter writer)
at System.Web.UI.WebControls.WebControl.RenderContent s(HtmlTextWriter
writer)
at System.Web.UI.WebControls.WebControl.Render(HtmlTe xtWriter writer)
at System.Web.UI.Control.RenderControl(HtmlTextWriter writer)
at System.Web.UI.Control.RenderChildren(HtmlTextWrite r writer)
at System.Web.UI.Control.Render(HtmlTextWriter writer)
at System.Web.UI.Control.RenderControl(HtmlTextWriter writer)
at System.Web.UI.Page.ProcessRequestMain()



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



Reply With Quote
  #2  
Old   
Brett Wesoloski
 
Posts: n/a

Default Re: using template columns - 01-08-2007 , 11:39 AM






Ok I also should mention that I am trying to do all this in a user control
which I place on a from. So the form does have the form tag with the runat =
server.

"Brett Wesoloski" <brwesoloski (AT) pai (DOT) com> wrote

Quote:
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("FundDescription");
//dt.Columns.Add("F");

PlanAssetCollection planAssets = PlanFactory.GetPlanAssets(18454);
foreach (PlanAsset planAsset in planAssets)
{
if (planAsset.FundInfoLink != String.Empty)
{
DataRow dr = dt.NewRow();
dr["FundDescription"] = planAsset.FundDescription;
//dr["F"] = "F";

dt.Rows.Add(dr);
}

}
dgInvestmentInfo.DataSource = dt;
dgInvestmentInfo.DataBind();


Hear is the asp code to create the template columns.



aspataGrid id="dgInvestmentInfo" runat="server"
AutoGenerateColumns="False"
Columns
asp:TemplateColumn HeaderText="Fund Desc"
ItemStyle HorizontalAlign="Center"></ItemStyle
ItemTemplate
font size="4"
%# DataBinder.Eval(Container.DataItem, "FundDescription") %
/font
/ItemTemplate
/asp:TemplateColumn
asp:TemplateColumn HeaderText="F"
ItemTemplate
asp:ImageButton id="F" onclick="F_Click" runat="server"
ImageUrl="~images/signin.gif"></asp:ImageButton
/ItemTemplate
/asp:TemplateColumn
/Columns
/aspataGrid

I have also tried to add the CommandArgument to the asp:ImageButton
CommandArgument='<%# DataBinder.Eval(Container.DataItem, "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_dgInvestmentInfo__ctl2_btnDel' of type 'Button' must
be placed inside a form tag with runat=server.


at System.Web.UI.Page.VerifyRenderingInServerForm(Con trol control)
at System.Web.UI.WebControls.Button.AddAttributesToRe nder(HtmlTextWriter
writer)
at System.Web.UI.WebControls.WebControl.RenderBeginTa g(HtmlTextWriter
writer)
at System.Web.UI.WebControls.WebControl.Render(HtmlTe xtWriter writer)
at System.Web.UI.Control.RenderControl(HtmlTextWriter writer)
at System.Web.UI.Control.RenderChildren(HtmlTextWrite r writer)
at System.Web.UI.Control.Render(HtmlTextWriter writer)
at System.Web.UI.WebControls.WebControl.RenderContent s(HtmlTextWriter
writer)
at System.Web.UI.WebControls.TableCell.RenderContents (HtmlTextWriter
writer)
at System.Web.UI.WebControls.WebControl.Render(HtmlTe xtWriter writer)
at System.Web.UI.Control.RenderControl(HtmlTextWriter writer)
at System.Web.UI.Control.RenderChildren(HtmlTextWrite r writer)
at System.Web.UI.Control.Render(HtmlTextWriter writer)
at System.Web.UI.WebControls.WebControl.RenderContent s(HtmlTextWriter
writer)
at System.Web.UI.WebControls.WebControl.Render(HtmlTe xtWriter writer)
at System.Web.UI.Control.RenderControl(HtmlTextWriter writer)
at System.Web.UI.WebControls.Table.RenderContents(Htm lTextWriter writer)
at System.Web.UI.WebControls.WebControl.Render(HtmlTe xtWriter writer)
at System.Web.UI.Control.RenderControl(HtmlTextWriter writer)
at System.Web.UI.Control.RenderChildren(HtmlTextWrite r writer)
at System.Web.UI.Control.Render(HtmlTextWriter writer)
at System.Web.UI.WebControls.WebControl.RenderContent s(HtmlTextWriter
writer)
at System.Web.UI.WebControls.BaseDataList.Render(Html TextWriter writer)
at System.Web.UI.Control.RenderControl(HtmlTextWriter writer)
at System.Web.UI.Control.RenderChildren(HtmlTextWrite r writer)
at System.Web.UI.Control.Render(HtmlTextWriter writer)
at System.Web.UI.Control.RenderControl(HtmlTextWriter writer)
at System.Web.UI.Control.RenderChildren(HtmlTextWrite r writer)
at System.Web.UI.Control.Render(HtmlTextWriter writer)
at System.Web.UI.WebControls.WebControl.RenderContent s(HtmlTextWriter
writer)
at System.Web.UI.WebControls.WebControl.Render(HtmlTe xtWriter writer)
at System.Web.UI.Control.RenderControl(HtmlTextWriter writer)
at System.Web.UI.Control.RenderChildren(HtmlTextWrite r writer)
at System.Web.UI.Control.Render(HtmlTextWriter writer)
at System.Web.UI.Control.RenderControl(HtmlTextWriter writer)
at System.Web.UI.Page.ProcessRequestMain()



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





Reply With Quote
Reply




Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off



Powered by vBulletin Version 3.5.4
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.