Forms Data Controls :: Binding Parent Repeater Item Index In Child Repeater Control?
Jun 17, 2010I want to bind parent repeater item index in child repeater control using inline code not code behind side.
For example
[Code]....
I want to bind parent repeater item index in child repeater control using inline code not code behind side.
For example
[Code]....
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?
protected void Page_Load(object sender, EventArgs e)
[Code]....
I am using nested repeaters and wanted to access a value from my parent repeater within the child...is this possible?
View 3 Replieswhat 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].....
I have a repeater control. show my products. in the quantity column I have a textbox that fills from database, the problem is when I want to update the quantity from the textbox, how to get the id of the row repeater and the value of the textbox to update the record. try using the method OnTextChanged. or maybe Jquery?.
View 1 Replieshave some Objects, lets say Employee and Role defined as below and I have defined relationships in my database that gives me a list of objects say employees and thanks to my framework each employee object also has a Role object linked via the RoleIDID, UserName, Password, Email, RoleIDRoleID, RoleNameSo in code I can do something like this
Employee emp = dataService_GetEmployeeByID(1);
string RoleName = emp.Role.RoleName;
Now here is my problemI can bind any object in a repeater and it works fine for the first level in my relationship
For instance <%# Eval("UserName") %>
But I need to be able to show the details for my child objects as well (Role) so something like this (which does not work)
<%# Eval("Role.RoleName") %>
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?
How can I get current viewed itemindex of a repeater item template, have tried a few stuffs i got from google search, but it seems not to work.
I have items like:
1 text link1
2 text link2
3 text link3
4 text link4
where 1, 2, 3, 4 are the itemindex, i want to be able to get 1 if text link1 is clicked, or 2 if text link two is clicked etc.
Here is my repeater html
I am trying to find a child control from a repeater control's child control. I have the following structure like a top control is a repeater, below which is a Panel and below this is a DateControl(custom control).
I want to find the DateControl.
<asp:Repeater runat="server"
ID="rptMembers"
<ItemTemplate>
<asp:Panel ID="pnlAddDependent".....
Right now I'm using the following code in my markup:
<asp:HiddenField ID="TheName" runat="server" Value=<%#Eval("SpeakerName")%> />
I would like to use:
<asp:HiddenField ID="TheName" runat="server" Value=<%#Eval(0)%> />
I would like to be able to call it by index instead of explicitly by "SpeakerName". Is there a way to do this in ASP.NET 4.0?
how to loop check index in repeater control ?
View 1 RepliesI 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
How to get all item from repeater control that already bidding ?
Code error as below :
Dim tt
Dim item As RepeaterItem
For Each item In Repeater1.Items
MsgBox(item.DataItem.ToString)
Next
I have a panel which has a repeater within it. Within the repeater I have a few controls. One of those controls is a Drop Down list which has an OnSelectedIndexChanged event. I can get this to fire without issue but I cannot find my DropDownList control within that repeater within the SelectedIndexChanged event . The repeater has an OnItemDataBound event and I can use the RepeaterItemEventArgs to find the control using e.Item.FindControl("ControlName") without issue but when that event occurs is NOT when I need to find the DropDownList.
What I want to do is have another control's Visible property be set to "true" when the value of the DropDownList meets a certain value. As far as I know I can only do this during the SelectedIndexChanged event and I can't change the signature of the event by trying to use RepeaterItemEventArgs.
I have this code
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
ArrayList olist = new ArrayList() { "aa", "bb", "cc", "dd" };
[Code] ....
I want to find the index of the button inside the repeater.
It's look something like this ....
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>
I am trying to get the index of the DataItem from the DataTable and insert that into the repeater. I tried this solution: [URL] but that does not give me what I want. that solution only gives me the location of the item within the Repeater, but I want the location of the item within its source DataTable. The reason for this is because I want to number my search results, and if I use the above solution then the numbers reset on pagination.
View 1 RepliesI want to add a class to a div inside my repeater control based on whether the query string value is true or false, so that I can style it differently.
View 6 RepliesI 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 .
I am trying to use a repeater control that will display a hyperlink control. For the text of that Hyperlink control I would like to concatenate to fields from my data source (lets say First Name and Last Name). How would I do this appropriately for the Hyperlink control within an ItemTemplate?
View 3 RepliesI have an aspx form containing many individual controls like and one repeater control. The repeater control items are basically having dropdowns, textboxes etc. next to each other. My problem is I can set the tab index of each individual element easily but I don't know how to set the tab index of the first element in of the first repeater item. That is why first I need to click the item and then the Tab index inside the repeater control works fine. Do you know how can I fix this? Should I handle this on the server side? or jQuery etc?
View 1 Repliesi need to Filter and display Google Map Markers from database based on DropDownList selection. for that I need to pass the selected value of DropDownList to the query.What should i do in the following code to do the above task?
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
[code]...
I have a repeater control:
<asp:Repeater ID="rep" DataSourceID="XMLDSCompare" runat="server">
<ItemTemplate>
<h4><%# XPath("title")%></h4>
</ItemTemplate>
</asp:Repeater>
Now if its the first item in the total resultset, I want to add <div> to ItemTemplate control, if its the 2nd item, I want to add </div>
So output would be (not including table tags generated by repeater control):
<div>
title 1
title 2
</div>
<div>
title 3
title 4
</div>
<div>
title 5
title 6
</div>
How would I do this in the ItemDataBound event of repeater control?
The title pretty much explains it. I want to bind a single item to a detail type control. I can bind to a repeater perfectly fine and obviously only one item will be displayed. It seems like there would be a better suited control for this. I know about FormView and DetailsView but they both generate a table which I don't really want. Something similar to the Repeater since it doesn't generate any content other than what you put in the template.
View 5 Replies