C# - How To Expose A Repeater's Templates From Another Control That Contains The Repeater
Sep 30, 2010
If I have a custom user control (say, MyCustomControl.ascx) which contains a number of other controls including a repeater, is there any way to expose that repeater's templates as templates for MyCustomControl?
For example, I would want to be able to do this:
[code]....
There could potentially be more than one repeater or other templated controls within the parent control, in which case I would like to be able to expose all of those templates for all of the controls in the same way.
My first thought was to simply expose the repeater's templates as ITemplate properties on MyCustomControl, but that didn't work since there's no (obvious) way to access the repeater's DataItem from the templates doing it that way.
View 2 Replies
Similar Messages:
Feb 3, 2014
I am using a repeater control and i want to use one more repeater control inside the existing repeater control .
Like this:
<asp:Repeater ID="Repeater1" runat="server"> <HeaderTemplate> </HeaderTemplate>
<ItemTemplate>
<!-- start child repeater --> Here I want to use one repater control <!-- end child repeater -->
</ItemTemplate>
</asp:Repeater>
View 1 Replies
Aug 2, 2010
I've got a repeater control containing comments. I'm about to implement ajax paging to it. I was opting to use the updatepanel (conditionally) for this thing, but I guess it's going to get kinda slow in production environment (Each time about 20 rows will be visible). I want to keep the repeater control since it contains other controls as well so I can't use a js (templates)/json approach.
View 1 Replies
Jun 17, 2010
I want to bind parent repeater item index in child repeater control using inline code not code behind side.
For example
[Code]....
View 2 Replies
Feb 18, 2011
Edit: I have a working solution already - I would just like to know why my original attempt didn't work. My original attempt is the code below.
I'm using the approach I found here:[URL] 306154 to implement a nested Repeater. Each parent item has one or more children items (the point of having the nested Repeater) with a dropdown horizontally aligned to each child item. In an effort to re-use the nested part of the Repeater I wanted to develop that piece as a user control but couldn't get it to work. I am wondering if it is even possible and if so how?
Here is my user control apsx:
<asp:Repeater ID="NestedRepeater" runat="server">
....
<ItemTemplate>
<tr class="text" id="RepeaterItemRow" runat="server">
<td>
<%#DataBinder.Eval(Container.DataItem, "Name") %>
</td>
<td>
</td>
<td>
</td>
<td>
</td>
<td>
</td>
<td>
</td>
</tr>
</ItemTemplate>
And here is my code behind for the user control. I noticed when I debugged NestedDataSource was null even though in the parent page load the data is there:
public DataSet NestedDataSource
{
get;
set;
}
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
NestedRepeater.DataSource = NestedDataSource;
NestedRepeater.DataBind();
}
}
In the parent Repeater in the `<ItemTemplate> I have:
<asp:RepUC ID="NestRep" runat="server" NestedDataSource='<%#((DataRowView)Container.DataItem).Row.GetChildRows("nestedrel") %>'>
And finally the page code behind:
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
BuildWBS();
}
}
private void BuildPage()
{
DataSet ds = new DataSet();
ds = DataAccessLayer.GetData("System");
ds.Relations.Add("nestedrel", ds.Tables[0].Columns["Id"], ds.Tables[1].Columns["ParentId"]);
ParentRepeater.DataSource = ds;
ParentRepeater.DataBind();
}
The page loads but nothing relating to the repeater appears on the screen. So, can you see anything wrong with what I have? Is the way I tried doing this even possible?
View 1 Replies
Oct 15, 2010
lets say I want to make a label of repeater1 visible in repater2's ItemCommand() method..
e.Item.FindControl("rpt1Label").Visible=True;
is not working..how else do you do it ?
[EDIT]
changed that to repeater1.FindControl("rpt1Label").Visible=True;
This is throwing object reference null exception
View 1 Replies
Oct 27, 2010
I have a webforms control, my:Repeater, that is an asp:Repeater. I want to make a default template, like:
[code]....
I want this template to be in some file not writable by the user. If the user just do
<my:Repeater/>
then it should use my default template. However, the user may override one or more of <HeaderTemplate>,
<ItemTemplate> or <FooterTemplate>.
Is this possible, and how can I achieve it?
View 1 Replies
Apr 21, 2010
I have nested a repeater control in Gridview. Right now it is showing gridview rows and repeater header for every case(whether data is there or not for that particular grid view row in the repeater control). I want to hide the gridview row and repeater control header when there is no data present for that particular gridview row. That case I handled at code level by filtering the resulted data table.
Now the another problem I am facing: I have allowed the paging on the gridview i.e. pagesize 3. When page loads it works fine, but when I go to page 2 then it generates following error: Index was out of range. Must be non-negative and less than the size of the collection. Parameter name: index
Below is the code to fill the grid, paging and fill repeater on rowdatabound event of grid.
[code].....
View 1 Replies
Jan 31, 2010
got an example of a repeater inside a repeater (dataBound) code behind?
View 3 Replies
Jan 18, 2010
I have a user control that displays a shopping cart in an ecommerce application.
The main cart display is a repeater that renders as a html table. In one of those table columns, there is another repeater to display people associated with the products int he cart (it's a repeater in case there is a line item >1 with multiple people).
I've added an ImageButton that I want to use to change the person associated with the item. At first, when I'd click on it I was getting this error:
Invalid postback or callback argument. Event validation is enabled using <pages enableEventValidation="true"/> in configuration or <%@ Page EnableEventValidation="true" %> in a page. For security purposes, this feature verifies that arguments to postback or callback events originate from the server control that originally rendered them. If the data is valid and expected, use the ClientScriptManager.RegisterForEventValidation method in order to register the postback or callback data for validation.
So as an experiment I disabled EventValidation on the page (not the control it's self) and now I do not get an error, but I also do not ever hit the breakpoint I set in the innermost repeater's ItemCommand event.
So I wonder how I might do this without disabling EventValidation, because this control will show up on multiple pages and we don't want to edit them all. Also, I'll need to know not only the repeater containing the control's row that the event came from but also the row index of the repeater containg this one. Is this possible?
View 3 Replies
Jul 12, 2010
I have repeater in which I have 2 hyperlink in the footer of the repeater and I want that the hyperlink can navigate from the page_load
View 2 Replies
Mar 15, 2011
I am using a repeater to build a custom table. However, I can't figure out how to make the table show subtotal if the next rows tour does not match the previous rows.
Something similar to that.
row1 tour1
row2 tour 1
tour1 subtotal
row3 tour2
row4 tour2
subtotal
total
[code].....
but this shows all the data in the nested repeater not the ones that match the parentrepeater fields for example tour,theme,dep7 should match in the child repeater
View 1 Replies
May 25, 2010
I'm so confused I wasn't even sure what to make the title so that it would make sense.
Here is what I have:
[code]...
I have links at the top of the page that are the letters A-Z. What I want to do is click on one of the letters, then show only the div IDs that start with that letter. I can't figure out how to do this since I'm dynamically creating the ID names. I had it set up nicely with Javascript and CSS, but the function call was inside the repeater. The layout is changed now, and I don't understand how to make the div ID available outside the repeater.
View 2 Replies
Feb 6, 2011
I am using Nested Repeater repeater1 and repeater2 in my project . one button is there inside repeater2 but i cant use that button using e.commandname
so how to use that button and how to write code on it.
View 3 Replies
Nov 12, 2010
what changed do I need to make to my code for it to achieve what I'm after.
At the moment I am getting a "cannot cast to type" error message with the below code.
I have also tried calling the ItemDataBound method in with the parent repeater tags and had no errors but when I clicked on the button it would just move back to the top of the page and would not hide or show any data. Also I have made the div style to none but the first record still shows its child but the rest don't.
[code].....
View 1 Replies
Apr 7, 2010
I have set up an asp repeater to go through and display a list of people based on input parameters. Within that repeater I have a repeater that displays specific details about each person. No problem so far.
However, my requirement is that I only display the names, with a plus/minus sign to the left of the name. Clicking on the plus sign will expand that person's information to show the details. Clicking the minus sign will collapse the detail info.
I have a panel set up within my primary repeater that encompasses the secondary repeater.
Here's the beginning of the code:
[Code]....
View 10 Replies
Feb 2, 2011
I am using a repater whose item template is having a dropdownlist. Now i want to access that dropdownlist from a button click event. Here is the code iam using :
protected void btn1_Click(object sender, EventArgs e)
{
foreach (RepeaterItem item in rptWord.Items)
{
DropDownList ddl1 = (System.Web.UI.WebControls.DropDownList)rptWord.FindControl("ddlWord");
}
}
But m getting ddl1 as null. For this i created a function which is as follows:
public void myFunction(object sender, RepeaterItemEventArgs e)
{
foreach (RepeaterItem item in rptWord.Items)
{
DropDownList la = (System.Web.UI.WebControls.DropDownList)e.Item.FindControl("ddlWord");
}
}
using this function iam able to access the repeater but i guess its not possible to call this function on button click event .
View 3 Replies
Jun 23, 2010
For the solution, I cannot use any postback methods, because this is all working through ajax. The solution need to be implemented in the asp.net code. I have a List<WebPage> that contains a list of Links (List<Link>) and I need for all the links to bind repetitive information such as page title, id, url. Here is my current repeater.
<div id="result">
<asp:Repeater runat="server" id="results">
<Itemtemplate>
<asp:Repeater runat="server" datasource='<%# Eval("Links") %>'>
<Itemtemplate>
<tr class="gradeX odd">
<td><%# Eval("Id") %></td> //property of WebPage (part of results repeater)
<td><%# Eval("Title") %></td> //property of WebPage (part of results repeater)
<td><%# Eval("Url") %></td> //property of WebPage (part of results repeater)
<td><%# Eval("URL") %></td>//Property of Link
<td><%# Eval("URLType") %></td> //Property of Link
<td><%# Eval("URLState") %></td> //Property of Link
</tr>
</Itemtemplate>
</asp:Repeater>
</Itemtemplate>
</asp:Repeater>
</div>
of course this doesnt work, how can i do this?
View 2 Replies
Mar 18, 2011
I have two repeater which are nested..Means there is one repeater and inside that i have another repeater.
I want data in following format:
*Transaction Id:1xasd2*
Product1 2 500
*Transaction Id:2asd21*
Product2 1 100
Product3 2 200
So how can i achieve this?
View 1 Replies
Mar 4, 2010
<asp:Repeater ID="rp1" runat="server">
<ItemTemplate>
<ul>
<li>
<%#Module(Convert.ToInt32(Eval("id")),Eval("university").ToString()) %>
<asp:Repeater ID="rp2" runat="server">
<ItemTemplate>
<ol>
<li id="sublist" runat="server">
<%#Eval("college") %>
</li>
</ol>
</ItemTemplate>
</asp:Repeater>
</li>
</ul>
</ItemTemplate>
</asp:Repeater>
C# CODE
public string Module(int id,string university)
{
con = new SqlConnection(ConStr);
con.Open();
cmd = new SqlCommand("SELECT college FROM tbluniversity where id=" + id, con);
da = new SqlDataAdapter(cmd);
con.Close();
ds = new DataSet();
da.Fill(ds);
//Here I want to find the inner repeator of current row then bind this dataset to that.
how to find Repeater
return university;
}
View 1 Replies
May 12, 2010
protected void Page_Load(object sender, EventArgs e)
[Code]....
View 2 Replies
Mar 29, 2011
I'm having trouble managing how to call upon databind from clicking on a row over an already populated repeater that will populate data regarding the row clicked TO another repeater on the same page.
I've succeeded doing that with postback, calling a jquery click event of that row, taking the data of the specific row and passing it onto a "Querystring" and after postpack, it will be pushed into a Session which the ObjectDataSource of the secondary repeater will recognize and populate the data tables accordingly.
The problem is, I must do it without a postback or in other words purely on client side.
View 1 Replies
Mar 17, 2011
I have a checkbox in a repeater control. How to get the User,Administrator,Security Admin as the checkbox Names ?
private string[] AvailableRoles = { "User", "Administrator", "Security Admin" };
Repeater_Roles.DataSource = AvailableRoles; Repeater_Roles.DataBind();
[code]....
View 3 Replies
Nov 26, 2010
I need to access a control inside a repeater and change its properties. To enable it or not. I got an erorr message Object reference not set to an instance of an object. Here is my code inside a method. protected void
rptCAP_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
LinkButton lnDel = (LinkButton)rptCap.FindControl("lnkDelete");
lnkDel.Enabled = false; //<<<<< this is where the error occur
}
The name of the repeater control is id="rptCAP"
View 3 Replies
Mar 17, 2010
How to create Grid view control inside Repeater control.
View 7 Replies