access to control in footer template

G

Guest

Hi,How can I access to checkbox control in footer template of datalist and fire the selectedchangeindex event?
 
T

Teemu Keiski

Hi,

you can just declare the event handler for the CheckBox control in aspx
(inline in the footer template e.g into the declarative syntax) or another
way is to locate it in ItemCreated of the dataList and wire the event
handler programmatically. Both ways work equally.

--
Teemu Keiski
MCP, Microsoft MVP (ASP.NET), AspInsiders member
ASP.NET Forum Moderator, AspAlliance Columnist
http://blogs.aspadvice.com/joteke


mahsa said:
Hi,How can I access to checkbox control in footer template of datalist and
fire the selectedchangeindex event?
 
T

Teemu Keiski

Hi,

like I said in my previous post, you must do it in *ItemCreated* (it is
different than ItemDataBound). ItemDataBound is not called for footer (only
for normal and alternating items according to the rows in data source), and
it is called only when DataBind is called for the DataList. You need to get
the code to run on every request, and ItemCreated works exactly that way and
additionally ItemCreated is called for the footer as well (DataListItem's
ItemType in ItemCreated is Footer then)

--
Teemu Keiski
MCP, Microsoft MVP (ASP.NET), AspInsiders member
ASP.NET Forum Moderator, AspAlliance Columnist
http://blogs.aspadvice.com/joteke


mahsa said:
hi I try this on DataList_ItemDataBound to find a control int footerIndex
= DataList1.Controls[0].Controls.Count-1;
CheckBox d;
d =
DataList1.Controls[0].Controls[footerIndex].FindControl("Ch_LiftGround") as
CheckBox;
if(d != null)
{
d.AutoPostBack=true;
d.CheckedChanged += new System.EventHandler(this.Ch_LiftGround_CheckedChanged);
}

but if the footer templete is not in item template like this:

<ItemTemplate>
<FooterTemplate>
<asp:CheckBox ID="Ch_LiftGround" Runat="server" Text="Lift Ground
Service" class='caption' AutoPostBack=true > said:
</FooterTemplate>
</ItemTemplate>
this code dosent work and if the footer is in daitemtemplate it dosent
work exacty right either do you have any idea?
 
G

Guest

Hi I have this in DataList1_ItemDataCreate
CheckBox d;
int footerIndex = DataList1.Controls[0].Controls.Count-1;
d = DataList1.Controls[0].Controls[footerIndex].FindControl("Ch_LiftGround") as CheckBox;
if(d != null)
{
Response.Write("Found footer DropDownList1 in SelectedIndexChanged event<br>");
d.CheckedChanged += new System.EventHandler(this.Ch_LiftGround_CheckedChanged);
}

but it dosent find check box do I have to put it in
I put it in (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
dosent find a control what can I do?it shows footerindex=0
whats your idea?

<FooterTemplate>
<tr> <td colspan=2 align=left width=100% runat=server ID="Td1" NAME="Td1">
<asp:CheckBox ID="Ch_LiftGround" Runat="server" AutoPostBack="True" Text="Lift Ground Service" class='caption' ></asp:CheckBox></td>
</tr>

Teemu Keiski said:
Hi,

like I said in my previous post, you must do it in *ItemCreated* (it is
different than ItemDataBound). ItemDataBound is not called for footer (only
for normal and alternating items according to the rows in data source), and
it is called only when DataBind is called for the DataList. You need to get
the code to run on every request, and ItemCreated works exactly that way and
additionally ItemCreated is called for the footer as well (DataListItem's
ItemType in ItemCreated is Footer then)

--
Teemu Keiski
MCP, Microsoft MVP (ASP.NET), AspInsiders member
ASP.NET Forum Moderator, AspAlliance Columnist
http://blogs.aspadvice.com/joteke


mahsa said:
hi I try this on DataList_ItemDataBound to find a control int footerIndex
= DataList1.Controls[0].Controls.Count-1;
CheckBox d;
d =
DataList1.Controls[0].Controls[footerIndex].FindControl("Ch_LiftGround") as
CheckBox;
if(d != null)
{
d.AutoPostBack=true;
d.CheckedChanged += new System.EventHandler(this.Ch_LiftGround_CheckedChanged);
}

but if the footer templete is not in item template like this:

<ItemTemplate>
<FooterTemplate>
<asp:CheckBox ID="Ch_LiftGround" Runat="server" Text="Lift Ground
Service" class='caption' AutoPostBack=true > said:
</FooterTemplate>
</ItemTemplate>
this code dosent work and if the footer is in daitemtemplate it dosent
work exacty right either do you have any idea?
 

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,995
Messages
2,570,230
Members
46,819
Latest member
masterdaster

Latest Threads

Top